1
這裏是我的小測試腳本:Osascript - 不輸出
do shell script "cd ~/Desktop; ls -l1"
set x to the result
tell application "Finder" to activate
當我通過腳本編輯器中運行它,它工作正常。
當我試圖通過終端,如osascript myscript.scpt
一樣的東西,它根本不工作 - 沒有任何輸出。
順便說一句,我試過,甚至通過可可NSTask調用它。有一次它工作,然後它不斷返回一個奇怪的Class _NSZombie_OS_xpc_data is implemented in both ?? and ??. One of the two will be used. Which one is undefined.
錯誤消息(osascript
不是可可)。
發生了什麼事?
P.S.我不知道這是否是相關的所有,但在終端嘗試了top
後,我跑(?!),但它殺死並沒有什麼好處或者注意到的osascript
實例...
OK,因爲我已經做了很大的進步,因爲我第一次張貼的問題。讓我這樣說:除了使用「AEDebugReceives = 1」之外,還有沒有其他方法可以從osascript中獲得中間事件/回覆(不是最終結果)? – 2014-11-08 13:42:52
您可以返回許多包含文本或數字的變量:'返回var1&linefeed&var2&linefeed&var3',否則我不知道任何其他方式。 – jackjr300 2014-11-08 14:30:51
如果你運行上面的腳本(沒有返回任何東西),你會注意到它也會輸出中間事件(在「events」和「reply」標籤下)。獲取這個輸出的一種方法是設置export AEDebugReceives = 1 '在終端中,重新啓動Finder並重新執行腳本,就像你通常那樣(例如'osascript yourscript.scpt')嘗試一下;-) – 2014-11-08 14:34:50