我正在编写一个shell程序来输出另一个shell程序,以便稍后进行评估。是否有一些常见的shell程序来打印shell转义为字符串?
答案 0 :(得分:2)
我不确定我理解你的问题。但printf
的%q
选项可能正是您要找的。 p>
%q以可以作为shell输入重用的格式输出相应的参数
printf %q 'C:\ProgramFiles is a Windows path;'
输出C:\\ProgramFiles\ is\ a\ Windows\ path\;
(在这个例子中,需要简单的引号 - Gordon Davisson的评论 - 但是如果从变量或命令的输出打印,这并不重要。)
答案 1 :(得分:0)
您可以使用单引号字符串,因为这是在没有任何替换的情况下进行评估的 例如,以下命令是等效的
cat abc\ hi.txt
cat 'abc hi.txt'