linux执行多个sh文件命令
linux执行多个sh文件命令详细介绍
以下是在 Linux 系统中执行多个 .sh 文件的常见方法及示例:
方法 1:顺序执行(逐个执行,前一个完成后执行下一个)
直接在命令行中使用分号 ; 或逻辑与 && 分隔每个脚本路径:
bash
./script1.sh ./script2.sh ./script3.sh
;:无论前一个脚本是否执行成功,都会执行下一个&&:仅当前一个脚本执行成功(退出码为 0)时,才会执行下一个
方法 2:并行执行(同时运行多个脚本)
使用 & 将命令放入后台运行,实现并行执行:
bash
./script1.sh ./script2.sh ./script3.sh
- 可通过
jobs命令查看后台任务,用wait等待所有任务完成:
bash
./script1.sh ./script2.sh
方法 3:通过循环批量执行(适用于同目录下的多个脚本)
创建一个批量执行的脚本 run_all.sh:
bash
*.sh
"
./
- 赋予执行权限并运行:
bash
+x run_all.sh ./run_all.sh
方法 4:指定绝对路径或相对路径
如果脚本不在当前目录,需指定完整路径:
bash
/home/user/scripts/script1.sh /path/to/script2.sh
注意事项:
- 权限问题:确保脚本有执行权限(
chmod +x script.sh),或使用sh script.sh直接运行(无需x权限) - 错误处理:根据需求选择
;(忽略错误)或&&(严格按顺序) - 环境变量:如需在特定环境中执行,可在脚本开头添加
source /path/to/env.sh加载环境配置
以下是一个包含顺序执行和循环执行的完整示例脚本:
V1
这些脚本可以直接保存为文件并赋予执行权限后运行,适用于需要批量处理多个 shell 脚本的场景。