2012-07-14 66 views
2

我有10個腳本文件,每個文件最多包含100個命令(每個命令需要1分鐘)。此刻它節省了我的時間,並且我只點擊一個文件來執行100條命令,但我想要的是另一個腳本文件,它依次執行10個腳本文件,而不是等待每個腳本文件完成,然後通過單擊它來執行第二個腳本文件。如何在mac上按順序(一個接一個地)運行多個腳本文件?

+2

在bash?我認爲你可以這樣做:'script0; SCRIPT1; script2' – nielsbot 2012-07-14 00:33:30

回答

4

您只要致電每個腳本,你會過,但用分號它們分開;

每個腳本執行完畢後,bash將開始執行下一個腳本。

在終端:

./scriptsrc/script_1; ./scriptsrc/script_2; ./scriptsrc/script_n; 

如果你需要更多的指導check this question out,其相當類似。

編輯: 如果你想運行多個腳本從一個其他腳本,這可以通過添加shebang行來完成,以告訴內核文件是可執行的,然後剛剛上市,你想要什麼腳本:

#!/bin/bash 

./scriptsrc/script_1 
./scriptsrc/script_2 
./scriptsrc/script_n 

echo "script execution complete" 
+0

謝謝,它的工作原理和我可以通過在命令提示符(終端)上一個接一個地輸入其名稱來運行多個腳本,但這是否意味着我們無法從腳本文件運行腳本文件? – 2012-07-14 00:53:31

+0

@Asbat你確實可以在腳本文件中運行它們,你只需要在shebang行('#!/ bin/bash')中添加一行,然後在沒有';'的單獨行中調用每個腳本,請查看編輯。 – 2012-07-14 00:57:15

+0

工程就像一個魅力。非常感謝Web開發人員 – 2012-07-14 01:12:30

0
set a to alias POSIX file "/Users/Firebird/Documents/script1.scpt" 
set b to alias POSIX file "/Users/Firebird/Documents/script2.scpt" 
set c to alias POSIX file "/Users/Firebird/Documents/script3.scpt" 

set theScriptFiles to {a, b, c} 
repeat with scriptFile in theScriptFiles 
    run script scriptFile 
end repeat 

列表中沒有運行第一對夫婦的時候,我由於未知原因,測試時間上的最後一個劇本,但之後我跑

set myList to {"Hello", "Goodbye", "I must be going"} 
repeat with theItem in myList 
    say theItem 
end repeat 

它的工作!

,以確保所有的劇本跑,我告訴文本編輯打開一個文件爲每個相應的腳本:

tell application "Finder" to open "Macintosh:Users:Firebird:Documents:ranscript1.rtf" 

這個線程真的很好太從MacScripter http://macscripter.net/viewtopic.php?id=44260

相關問題