Swift 在NSTask中使用open命令
我对Swift中的NSTask有相当基本的了解,可以在我的程序中运行一些命令,但当我运行open时,它会说文件不存在。我添加了我在终端中使用的确切参数,我不知道我缺少了什么。代码如下:Swift 在NSTask中使用open命令,swift,nstask,Swift,Nstask,我对Swift中的NSTask有相当基本的了解,可以在我的程序中运行一些命令,但当我运行open时,它会说文件不存在。我添加了我在终端中使用的确切参数,我不知道我缺少了什么。代码如下: task.launchPath = "/usr/bin/open" task.arguments = ["/Volumes/STS*/here.docx"] task.launch() task.waitUntilExit() 提前谢谢。这是我的第一个问题,如果它很愚蠢,请发发慈悲。NSTask不会扩展路径中的
task.launchPath = "/usr/bin/open"
task.arguments = ["/Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()
提前谢谢。这是我的第一个问题,如果它很愚蠢,请发发慈悲。
NSTask
不会扩展路径中的*
。但是如果您通过shell调用该命令(即/bin/bash
),它将:
let task = NSTask()
task.launchPath = "/bin/bash"
task.arguments = ["-c", "open /Volumes/STS*/here.docx"]
task.launch()
task.waitUntilExit()
-c
选项告诉Bash从字符串中读取命令。您可以查看手册页了解更多信息。NSTask没有通配符扩展。谢谢,这解释了很多。@MartinR,您对如何解决这个问题有什么建议吗?