【问题标题】:echo bash variable as text将 bash 变量作为文本回显
【发布时间】:2013-09-20 18:54:48
【问题描述】:

我正在尝试将 var 作为文本回显,而不是对其进行解析。我尝试和搜索的所有内容似乎都向我展示了如何回显变量,而不仅仅是变量文本。

请注意,下面的代码正是我所拥有的基本回声。我已经用这条线尝试了 \"$ARG1$\" 等。

echo "command[runcmd]=sudo service $ARG1$ restart" >> testfile

我想要的是它显示出来

command[runcmd]=sudo service $ARG1$ restart

但最终的结果是什么

command[runcmd]=sudo service $ restart

我知道这是我的语法错误,但即使在 MAN 页面中,我似乎也找不到正确的方法。也许我错过了什么。

提前谢谢你!

【问题讨论】:

  • 您需要转义为美元符号:echo "command[runcmd]=sudo service \$ARG1$ restart" >> testfile 它在 bash 手册的引用部分下:... () 是转义字符。它保留了下一个字符的字面值,...

标签: bash variables echo


【解决方案1】:

只需使用单引号:它们可以防止变量替换:

echo 'command[runcmd]=sudo service $ARG1$ restart'

【讨论】:

    【解决方案2】:

    使用单引号 (') 而不是双引号 ("):

    echo 'command[runcmd]=sudo service $ARG1$ restart' >> testfile
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 2017-02-20
      • 2015-11-17
      • 2016-07-22
      • 1970-01-01
      • 2021-11-11
      • 2021-11-18
      相关资源
      最近更新 更多