如何在shell脚本中打印$?

时间:2014-07-30 12:13:52

标签: linux shell terminal

我希望输出为$ msg1两三。 $和msg1之间没有空格。怎么可能?

#!/bin/sh
msg1=$
ms="$msg1 msg1"
msg2="$ms two"
msg3="$msg2 three"
echo $msg3

3 个答案:

答案 0 :(得分:8)

您可以使用:

msg1='$'
ms="${msg1}msg1"
msg2="$ms two"
msg3="$msg2 three"
echo "$msg3"

<强>输出:

$msg1 two three

PS:注意${msg1}语法以在msg1周围创建变量边界。这用于避免它使$msg1msg1

答案 1 :(得分:3)

引用$(或周围的单词)。 E.g。

 echo '$'

 echo 'some$inside'

如果您想要一条没有换行符的邮件,请使用echo -n

请参阅echo(1)bash(1)

答案 2 :(得分:0)

非常简单:

输入:

echo '$msg1' two three    

(注意单引号)

输出:

$msg1 two three