这是我的小测试脚本:
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
运行的实例(?!),虽然杀了它也没有任何好处......
答案 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