将shell的输出重定向到带有&符号的文件会在输出中返回一些其他命令

时间:2014-11-18 12:15:57

标签: linux bash shell unix

我有一个简单的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$ 

我不想在[1]+ Done ksh dummy.sh > text模式的text输出文件中打印&行。 请问任何人请告诉我如何实现这一点,因为我需要在后端模式下执行100个脚本?

1 个答案:

答案 0 :(得分:4)

以下行未附加到文件中。

[1]+  Done                    ksh dummy.sh > text

它由shell打印,让您知道后台进程已终止。

再次尝试cat text,然后您会注意到[1] ....没有行。