2012-01-29 43 views
1

以下代碼在AppleScript中引發語法錯誤(使用Automator時)。任何建議可能會導致它在終端中運行時代碼運行良好?AppleScript代碼

on run {input, parameters} 

    tell application "Terminal" 

     activate (do script with command "perl -mURI -lne 'print ((URI->new(/([\S]+) \z/msx)->path_segments)[-1])' <testfile.txt> testfile1.txt") 
    end tell 

    return input 
end run 
+0

你的錯誤是什麼?嘗試在「激活」之後放置一個返回 – alexy13 2012-01-29 15:03:58

+0

您不需要告訴終端做任何事情。你只需要: 做shell腳本「把你的代碼放在這裏」 – PHennessey 2017-02-17 23:10:08

回答

2

我想你可能需要activate後換行,即

on run 
    tell application "Terminal" 
     activate 
     do script "perl -mURI -lne 'print ((URI->new(/([\\S]+) \\z/msx)->path_segments)[-1])' <testfile.txt> testfile1.txt" 
    end tell 
end run 

我也取出了一些多餘的東西,並測試了這個在OS X 10.6。

+0

謝謝你的迴應,我得到的錯誤是預期的「」「但是找到未知的令牌,有什麼想法嗎? – user1171048 2012-01-29 15:07:05

+0

用你的代碼或者我的? – 2012-01-29 15:07:41

+0

都觸發同樣的問題 – user1171048 2012-01-29 15:09:54