【发布时间】:2015-11-28 02:45:43
【问题描述】:
我有一个modelinfo.sh 文件,如果我在终端中运行它,它会将结果回显/保存到 TXT 文件中。
要从终端执行此文件,我使用命令:
./modelinfo.sh -s C8QH74G6DP11
使用此命令,它会保存给定序列号的结果:C8QH74G6DP11
我需要获取 5000 部连续剧的报告,所以我认为 AppleScript 可能会帮助我?
我已经用 AppleScript 编写了这段代码:
tell application "Terminal"
do script ("./modelinfo.sh -s C8TJ14JWDP11") in window 1
do script ("./modelinfo.sh -s C8QH74G6DP12") in window 1
do script ("./modelinfo.sh -s C8QKGFWSDP13") in window 1
do script ("./modelinfo.sh -s C8QKFR5FDP14") in window 1
end tell
使用上面的代码,我的 IP 被阻止,我只得到第一个序列号的报告。
我也试过了:
on delay duration
set endTime to (current date) + duration
repeat while (current date) is less than endTime
tell AppleScript to delay duration
end repeat
end delay
tell application "Terminal"
do script ("./modelinfo.sh -s C8TJ14JWDP11") in window 1
delay 20
do script ("./modelinfo.sh -s C8QH74G6DP12") in window 1
delay 20
do script ("./modelinfo.sh -s C8QKGFWSDP13") in window 1
delay 20
do script ("./modelinfo.sh -s C8QKFR5FDP14") in window 1
end tell
但是这段代码也无济于事..
我最后一次尝试:
tell application "Terminal"
do script ("./modelinfo.sh -s C8TJ14JWDP11") in window 1
end tell
最后一个脚本我可以根据需要运行多次,而且我总是可以得到报告而不会阻止我的 IP。
即使我的 IP 被阻止,Applescript 似乎同时运行所有 4 个连续剧? 因为我可以多次运行单次检查而不会被阻止。
谁能帮我指出正确的方向?
Applescript 可以做到这一点吗? 或者我可以创建一个新的 bash 文件来运行我的所有 5000 个命令 1 到 1?
谢谢
【问题讨论】:
-
为什么不将这些值放入一个数组中,而不是一遍又一遍地单独调用它们?
-
我是 Bash/Applescript 的新手。只在 PHP 中使用过数组。你能举例说明你的意思吗?谢谢
-
嗯,我不知道你为什么首先使用 Applescript;看来你所做的一切都是调用一个 shell 脚本——为什么不直接删掉 Applescript?
-
@l'L'l 是的,我需要做的就是用不同的序列号调用一个 shell 脚本 5000 次。它们应该被一个一个地调用。我认为 Applescript 是一种简单的方法。请指出我正确的方向。我该用什么?
-
你不需要调用一个shell脚本5000次!对于 shell 脚本来说,无论它有多少值,循环遍历数组都会更有意义。发布您当前正在调用的 shell 脚本,它使用的值是如何存储的?
标签: bash terminal applescript