3

我有 10 个脚本文件,每个文件最多包含 100 个命令(每个命令需要 1 分钟)。目前它节省了我的时间,我只单击一个文件来执行 100 个命令,但我想要的是另一个脚本文件,它顺序执行 10 个脚本文件,而不是我等待每个文件完成然后通过单击执行第二个脚本文件。

4

2 回答 2

5

您只需像以前一样调用每个脚本,但用分号分隔它们 ;

在每个脚本完成执行后,bash 将开始执行下一个脚本。

在终端:

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

如果您需要更多指导,请查看此问题,它非常相似。

编辑: 如果你想从另一个脚本运行多个脚本,这可以通过添加 shebang 行来告诉内核文件是可执行的,然后只列出你想要的脚本:

#!/bin/bash

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

echo "script execution complete"
于 2012-07-14T00:42:29.577 回答
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

有效!

为了确保所有脚本都运行,我告诉 Texteditor 为每个相应的脚本打开一个文件:

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

MacScripter http://macscripter.net/viewtopic.php?id=44260这个线程也非常好

于 2017-07-18T15:03:01.120 回答