<分区>
shell 命令 cmd 可能有空格和单引号和双引号。
如何转义这些引号以正确地将命令传递给 POSIX shell:
>dash -c '
cmd'
另一个问题指向一个重复,询问双引号。那里的答案之一可能会起作用 - 拆分命令并使用连接引号。例如,如果 cmd 是
cd "dir"; ls 'foobar'
然后我们将其转化为
>dash -c 'cd "dir"; ls '"'foobar'"
这太麻烦了……有没有更简单的方法?
补充:似乎没有人理解我......我只想要一个通用的过程,一个算法,它接受输入,一个字符串(完全准确地说,由 ASCII 中从 0 到 127 的可打印 ASCII 字符组成表),并输出第二个字符串。要求是如果第一个字符串这样执行
POSIX_shell>string1
结果是一样的
>POSIX_shell -c string2
我现在更清楚了吗,请告诉我。