【发布时间】:2016-10-12 01:02:30
【问题描述】:
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
我现在是不是更清楚了,请告诉我。
【问题讨论】:
标签: shell dash-shell