Osascript - 没有输出

时间:2014-11-08 06:28:25

标签: objective-c macos cocoa terminal applescript

这是我的小测试脚本:

do shell script "cd ~/Desktop; ls -l1"
set x to the result
tell application "Finder" to activate

当我通过脚本编辑器运行时,它运行正常。

当我通过终端尝试同样的事情时,如osascript myscript.scpt,它根本不起作用 - 没有任何输出。

顺便说一下,我甚至试过通过Cocoa NSTask调用它。有一次它工作,然后它不断返回一个奇怪的Class _NSZombie_OS_xpc_data is implemented in both ?? and ??. One of the two will be used. Which one is undefined.错误消息(osascript而不是Cocoa。)

发生了什么事?


PS 我不知道这是否相关,但在终端中尝试top后,我注意到osascript运行的实例(?!),虽然杀了它也没有任何好处......

1 个答案:

答案 0 :(得分:1)

使用osascript命令时,只能得到最后一个AppleScript命令的结果。

因此,最后一个命令是tell application "Finder" to activate,此命令不返回任何内容。

要获取do shell script命令的结果,请使用:

set x to do shell script "cd ~/Desktop; ls -l1"
tell application "Finder" to activate
return x