22

我想打印名为“$1”的字符串。但是当我使用 echo 执行此操作时,它会打印等于“$1”变量的字符串。如何像字符串一样打印“$1”?

例如:

set -- "output"  # this sets $1 to be "output"
echo $1          # ==> output

但我想要这个:

echo $1      # ==> $1
4

2 回答 2

35

您必须转义$才能显示它:

$ echo "\$1"

或者,正如 JeremyP 在评论中指出的那样,只需使用单引号,这样 的值$1就不会被扩展:

$ echo '$1'
于 2013-05-08T16:09:35.530 回答
6

您需要:

  • 将变量括在单引号中:echo '$1'
  • 逃离$标志:echo "\$1"
于 2013-05-08T16:11:04.697 回答