我有一个主脚本master_script.sh,其中有几个脚本。
Inside Master_script.sh
./script1.sh
./script2.sh
./script3.sh
..
..
./script10.sh
我使用 ./Master_Script.sh 从终端执行主脚本。我需要无限次运行 Master_script 并随机化 Master 脚本中的子脚本顺序,以便 Master_script 的每次迭代都会随机化脚本的执行顺序。
Ex
Iteration1
./script1.sh
./script3.sh
./script5.sh
..
..
Iteration2
./script2.sh
./script1.sh
./script9.sh
..
..
etc
任何帮助是极大的赞赏。
答案1
我认为这里的关键是一个名为“shuf”的命令(我今天之前从未听说过)。shuf 接受输入并随机重新排列输出。
我的脚本反复循环。如果您只想运行脚本一次,则可以删除 while 循环。
修改 SCRIPTLIST 以包含您想要运行的所有脚本。
#! /bin/bash
SCRIPTLIST="./script1.sh ./script2.sh ./script3.sh ./script4.sh"
while [ 1 ]
do
for each in `shuf -e $SCRIPTLIST`
do
$each
done
done