Bash运行两个命令并从两者获得输出

时间:2013-05-15 18:20:10

标签: bash shell

我需要并行运行两个命令,并从同一个shell中获取两者的输出。

编辑:

我正在尝试运行多个长时间运行的命令来监视文件系统并为我编译各种东西(coffeescript,jade,sass)。

2 个答案:

答案 0 :(得分:1)

command1 &
command2 &

他们都是并行的;他们的输出进入屏幕。

答案 1 :(得分:1)

你可能正在看bash中的wait命令。考虑一下这个脚本:

#!/bin/bash

FAIL=0
echo "starting"

./script1 &
./script2 &

for job in `jobs -p`
do
   echo $job
   wait $job || let "FAIL+=1"
done

echo $FAIL

if [ "$FAIL" == "0" ];
then
    echo "All jobs completed!"
else
    echo "Jobs FAILED: ($FAIL)"
fi

Courtesy