如何从单个命令中转义字符?

时间:2017-02-06 23:22:22

标签: bash sed

如何使用sed命令转义linux中的字符?

我想打印这样的东西

echo hey$ya 

但我刚收到

hey

如何逃避$字符?

2 个答案:

答案 0 :(得分:1)

你只是选择"嘿嘿"回应的是,由于$,shell尝试扩展名为ya的变量。由于不存在这样的变量,它会扩展为空字符串(基本上它会消失)。

您可以使用单引号,它们可以防止变量扩展:

echo 'hey$ya'

你也可以逃避角色:

echo hey\$ya

字符串也可以用双引号括起来(例如echo "hey$ya"),但这些不会阻止扩展,他们所做的只是将整个表达式保持为单个字符串,而不是允许单词拆分来分隔单独的参数中的单词对于正在执行的命令。使用双引号在您的情况下不起作用。

答案 1 :(得分:0)

\是转义字符。所以你的例子是:

~ » echo hey\$ya
hey$ya
~ »