如何在不使用 && 的情况下在一行中运行多个 bash 脚本

如何在不使用 && 的情况下在一行中运行多个 bash 脚本

我有 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"

相关内容