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