我有一个简单的shell脚本,其中包含以下echo语句。
-bash-3.2$ vi dummy.sh
echo "hi"
如果我直接执行该文件,它会将
“hi”
作为输出写入名为"text"
的文件中。-bash-3.2$ ksh dummy.sh > text
-bash-3.2$ cat text
hi
-bash-3.2$
现在,如果我在脚本末尾加上
&
后再执行相同的脚本,它将以以下方式写入hi
输出和其他命令文本。-bash-3.2$ ksh dummy.sh > text &
[1] 11208
-bash-3.2$ cat text
hi
[1]+ Done ksh dummy.sh > text
-bash-3.2$
我不想在名为
text
的输出文件中打印[1]+ Done ksh dummy.sh > text
这一行,并使用&
模式。请问有谁能告诉我如何实现这一点,因为我需要在后台模式下执行数百个脚本?
cat
命令之前,只需按下enter
键即可。或者使用set -b
命令打开立即通知功能,在运行cat
命令之前稍等片刻即可。 - Etan Reisnerset -b
。Shell仍然会打印[1] ...
,但它会在后台作业完成时立即打印。 - falsetru