我在编写 shell 脚本时经常遇到的一个烦人的问题是,echo 语句的输出显示在 echo 语句之后的命令输出之后。
例如:
echo "step 1 -"
./step1
echo "step 2 -"
./step2
echo "step 3 -"
./step3
输出如下所示:
step1 output
step2 output
step3 output
step 1 -
step 2 -
step 3 -
这违背了这些回声陈述的目的。 有没有合理简单/方便的方法来解决这个问题?
将 stderr 从命令重定向到 stdout,以便序列化输出。
./step1 2>&1