You need to enable JavaScript to run this app. 如何并行运行两个独立的bash命令,无需按顺序先后执行
优惠活动
大模型
产品
解决方案
定价
更多

如何并行运行两个独立的bash命令,无需按顺序先后执行

Bash并行执行独立命令的实现方案

问题原因

你之前使用的&&是Bash的逻辑与运算符,仅当前一条命令执行成功(返回码为0)后才会触发后一条命令执行,属于顺序执行逻辑,自然无法满足并行启动的需求。

核心解决方法

使用&将命令放入后台执行,Shell不会等待该命令完成,会立刻执行下一条命令,两条命令完全并行运行,且支持分多行书写无需放在同一行。

适配你的场景的示例代码

你需要实现倒计时同步播放提示音,可参考如下写法:

# 第一步:后台启动音频播放,重定向输出避免干扰终端
# 末尾的&是并行的核心
play ~/xyz > /dev/null 2>&1 &
# 可选:记录播放进程的PID,方便后续操作
PLAY_PID=$!

# 第二步:直接启动倒计时通知逻辑,无需等待播放完成
for second in {5..0}; do
    notify-send "倒计时提示" "剩余 ${second} 秒"
    sleep 1
done

# 可选:倒计时结束后如果音频还在播放,主动终止播放进程
kill ${PLAY_PID} > /dev/null 2>&1

其他说明

  • 如果你的倒计时逻辑已经封装为独立脚本,直接在后台启动播放命令后,执行对应脚本即可:
    play ~/xyz > /dev/null 2>&1 &
    bash /path/to/your/countdown_script.sh
    
  • 若需要两个命令都执行完成后再执行后续操作,可在两条命令启动后添加wait指令:
    command1 &
    command2 &
    wait
    echo "两个命令都已执行完成"
    

内容的提问来源于stack exchange,提问作者user15705894

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 13:24:09