此问题已在此处有答案:
How can I escape a double quote inside double quotes?(10个答案)
7年前关闭。
社区在8个月前审查了是否重新打开此问题,并将其关闭:
原始关闭原因未解决
shell命令可以有空格、单引号和双引号。
如何转义这些引号以正确地将命令传递给POSIX shell,如下所示?>dash -c '
命令'
另一个问题被指出是重复的,并询问双引号。其中一个答案可能会起作用-拆分命令并使用连接的引号。例如,如果命令是
cd "dir"; ls 'foobar'
然后我们将其转化为
>dash -c 'cd "dir"; ls '"'foobar'"
太乱了...有没有更简单的办法?
我只需要一个通用的过程,一个接受输入的算法,一个字符串(完全精确地说,由ASCII表中从0到127的可打印ASCII字符组成),并输出第二个字符串。要求是如果第一个字符串像这样执行
POSIX_shell>string1
其结果是相同的
>POSIX_shell -c string2
1条答案
按热度按时间hsgswve41#
首先,尽量避免你提到的混乱的事情。如果必须这样做,请保持简单,将所有双引号放在单引号内不会有任何问题。双引号内的所有单引号应该没有问题。
第三(混乱,如果可能的话避免这种情况),任何你想要在单引号内的单引号都必须使用多个引号进行转义。
第四,双引号内的双引号应该使用反斜杠
\
进行转义: