我想执行一个shell命令(我希望touch
一个文件)。我使用system("shell command")
来执行命令。
例如,我想触摸路径/Users/username/New Folder/
处的文件。现在我需要以符合NSString
等shell命令的格式转换/Users/username/New\ Folder
。
有没有像这样进行转换的方法?
注意:不只是用\
替换空格。如果您在/Users/username/Folder(foo)/
这样的路径中有特殊字符,则“shell路径”看起来像/Users/username/Folder\(foo\)/
答案 0 :(得分:1)
无需转换路径,您可以用单引号将其包围。只需使用:
touch 'path'
答案 1 :(得分:1)
您可以将包含带“”标记的空格的参数括起来。
touch "/Users/username/New Folder/"
至少这适用于shell提示符
答案 2 :(得分:0)
请勿使用system
。这是不安全和不可预测的。用引号括住字符串是不够的。
请改用execve style functions。它们简单而安全。