在Linux上,如果你想要多条命令一起运行,有几种方式可以实现,但具体使用哪种方式取决于你希望这两条命令如何并行或顺序执行。
1、顺序执行:如果你希望第一条命令执行完毕后,再执行第二条命令,你可以简单地将它们写在同一行,用分号(;)分隔。例如:
command1; command2
这样,无论command1执行成功还是失败,command2都会执行。
2、并行执行:如果你希望多条命令同时执行,互不干扰,可以使用&符号将第一条命令放在后台执行,然后立即执行第二条命令。但请注意,这实际上并不是将多个命令“拼接”在一起执行,而是让第一个命令在后台运行,同时立即开始执行第二个命令。例如:
command1 & command2
但请注意,由于&只是将command1放入后台,如果command1的输出很重要,你可能需要重定向其输出到文件或使用其他方式捕获。
3、使用&&和||进行条件执行
&&:仅当第一个命令成功执行(即退出状态为0)时,才执行第二个命令。
||:仅当第一个命令执行失败(即退出状态非0)时,才执行第二个命令。
例如:
command1 && command2 # 如果command1成功,则执行command2
command1 || command2 # 如果command1失败,则执行command2
4、如果你在脚本里启动了后台程序,可以使用wait等待后台进程
#!/bin/bash
# 启动一个后台进程(比如sleep 5)
sleep 5 &# 获取最后一个后台进程的PID
last_pid=$!# 输出这个PID
echo "最后一个后台进程的PID是: $last_pid"
# 等待这个特定的后台进程完成
wait $last_pid
# 输出完成信息
echo "后台进程已完成"