我有 3 个 bash 脚本,我想在一行中同时运行它们
例如:1.sh、2、sh、3.sh
sudo /etc/init.d/{1,2,3}.sh
但不起作用。而且 crontab 不接受这种格式
笔记:我不想使用:
sudo /etc/init.d/1.sh && sudo /etc/init.d/2.sh && sudo /etc/init.d/3.sh
谢谢
答案1
eval "sudo "/etc/init.d/{1,2,3}.sh";"
或者
for i in {1..3}; do sudo /etc/init.d/${i}.sh; done
答案2
尝试一下这个:
sudo sh -c "/etc/init.d/{1,2,3}.sh"
答案3
目前还不完全清楚为什么你不想使用“&&”,但如果是因为依赖于每个返回 OK 退出,你可以使用“;”来代替
您还可以使用 sudo 启动带有“-c”的 shell 以在命令行传递参数,因此每个脚本只需调用 1 次 sudo 即可运行。
sudo /bin/bash -c "/path/to/script1; /path/to/script2; /path/to/script3"