我正在制作一个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)
答案 0 :(得分:0)
尝试分隔引号,并确保您的参数正确。
let killtask = NSTask()
killtask.launchPath = "/usr/bin/osascript"
killtask.arguments = ["-e","'quit app \"Transmission\"'"]
killtask.launch()
如果参数不起作用,请尝试在单引号('
)前添加反斜杠。