Objective-C - 如何将文件路径转换为shell符合文件路径

时间:2014-03-13 23:43:17

标签: objective-c shell nsstring

我想执行一个shell命令(我希望touch一个文件)。我使用system("shell command")来执行命令。

例如,我想触摸路径/Users/username/New Folder/处的文件。现在我需要以符合NSString等shell命令的格式转换/Users/username/New\ Folder

有没有像这样进行转换的方法?

注意:不只是用\替换空格。如果您在/Users/username/Folder(foo)/这样的路径中有特殊字符,则“shell路径”看起来像/Users/username/Folder\(foo\)/

3 个答案:

答案 0 :(得分:1)

无需转换路径,您可以用单引号将其包围。只需使用:

touch 'path'

答案 1 :(得分:1)

您可以将包含带“”标记的空格的参数括起来。

touch "/Users/username/New Folder/"

至少这适用于shell提示符

答案 2 :(得分:0)

请勿使用system。这是不安全和不可预测的。用引号括住字符串是不够的。

请改用execve style functions。它们简单而安全。