无法使用多个引号格式化字符串

时间:2015-05-07 03:02:02

标签: xcode swift terminal applescript osascript

我正在制作一个NSTask,它运行osascript以优雅地退出应用程序而不是killall/kill命令。

我有这个:

let killtask = NSTask()
killtask.launchPath = "/usr/bin/killall"
killtask.launchPath = "/usr/bin/osascript"
killtask.arguments = ["-e","'quit app", ""Transmission"""'"]
killtask.launch()

麻烦的路线是我试图通过的论据。

终端中的命令是这样的:

/usr/bin/osascript -e 'quit app "Notes"'

我哪里错了?如何格式化参数以使其获得命令中实际使用的所有单引号和双引号?

修改

正在运行

killtask.arguments = ["-e \'quit app \"Transmission\"\'"]

给我:

0:2: syntax error: A unknown token can’t go here. (-2740)

1 个答案:

答案 0 :(得分:0)

尝试分隔引号,并确保您的参数正确。

let killtask = NSTask()
killtask.launchPath = "/usr/bin/osascript"
killtask.arguments = ["-e","'quit app \"Transmission\"'"]
killtask.launch()

如果参数不起作用,请尝试在单引号(')前添加反斜杠。