是否可以在Bash中禁用命令替换?
我想将包含多个反引号字符的字符串作为命令行参数传递给程序,而不用尾随反斜杠或引用字符串。
谢谢。
答案 0 :(得分:1)
我认为有一种误解可以解决你的问题。引用 最有可能解决您的情况。但也许你还没有找到正确引用或类似的方式。
如果源代码中的危险字符串应逐字(不引用或转义),您可以将其放在单独的文件中并从那里读取:
dangerous_string=$(cat dangerous_string_file.txt)
如果在没有解释的情况下将其传递给命令,请使用双引号来阻止解释:
my_command "$dangerous_string"
如果你必须将它传递给需要接收字符串的引用版本的命令,因为已知不小心传递字符串而不使用双引号来阻止解释,你总是可以使用{{1}获得引用版本:
printf
如果所有这些选项对您的情况没有帮助,请更详细地解释您的问题所在。