如何在bash脚本中打印文字字符串"$ 1"?

Ziy*_*gov 14 bash

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

例如:

set -- "output"  # this sets $1 to be "output"
echo $1          # ==> output
Run Code Online (Sandbox Code Playgroud)

但我想要这个:

echo $1      # ==> $1
Run Code Online (Sandbox Code Playgroud)

fed*_*qui 21

你必须逃避$它显示:

$ echo "\$1"
Run Code Online (Sandbox Code Playgroud)

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

$ echo '$1'
Run Code Online (Sandbox Code Playgroud)

  • 或`echo'$ 1'`(使用单引号) (2认同)
  • 您对Shell的了解非常棒!你真棒!;) (2认同)
  • 哦,谢谢@ZiyaddinSadigov,但​​是您将在SO中学到更多,这就是我发生的事情:D很快再见! (2认同)

Car*_*rós 7

您需要:

  • 将变量括在单引号中:echo '$1'
  • 逃脱$标志:echo "\$1"