Bash 转义字符
Bash escape character
我有一个 bash 命令的简化示例,我希望在其中转义 $ 符号。
所以命令:
su -m user -c "echo $test"
应该打印出来:
$test
不幸的是,简单的 \$test 不起作用。我尝试了很多其他的东西,但仍然找不到解决方案。有什么建议吗?
用单引号而不是双引号。
su -m user -c 'echo $test='
单引号防止变量被原来的 shell 扩展。然后反斜杠转义 shell 运行 中的美元符号 by su
.
见Difference between single and double quotes in Bash
在回答评论时,您可以切换到双引号以将单引号放入字符串中。
su -m user -c 'echo $test='"'1'"
我有一个 bash 命令的简化示例,我希望在其中转义 $ 符号。 所以命令:
su -m user -c "echo $test"
应该打印出来:
$test
不幸的是,简单的 \$test 不起作用。我尝试了很多其他的东西,但仍然找不到解决方案。有什么建议吗?
用单引号而不是双引号。
su -m user -c 'echo $test='
单引号防止变量被原来的 shell 扩展。然后反斜杠转义 shell 运行 中的美元符号 by su
.
见Difference between single and double quotes in Bash
在回答评论时,您可以切换到双引号以将单引号放入字符串中。
su -m user -c 'echo $test='"'1'"