如何在Shell脚本中打印$符号?

14

我希望输出的结果为 $msg1两三。$ 和 msg1 之间不要有空格。这可能吗?

#!/bin/sh
msg1=$
ms="$msg1 msg1"
msg2="$ms two"
msg3="$msg2 three"
echo $msg3
3个回答

27

您可以使用:

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

输出:

$msg1 two three

注意:使用${msg1}语法来在msg1周围创建变量边界。这样可以避免它被解释为$msg1msg1


9

只需引用$(或者也可以引用其周围的字)。例如:

 echo '$'

 echo 'some$inside'

如果你想要没有换行符的消息,使用echo -n
参考echo(1)bash(1)

3
相当简单:
输入:
echo '$msg1' two three    

请注意单引号

输出:

$msg1 two three

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接