echo在命令中不起作用

问题描述:

我运行以下命令进行日志监视。echo在命令中不起作用

echo ---------------------BEGIN:0;awk ' NR == NR {print $0; recno=NR; rec=$0} END {printf "output is %010d>%s",recno, rec} ' "/var/log/messages";echo ;echo ------------------END:0; 

预期输出是

Nov 12 03:36:52 hostname gdm[27726]: GDM already running. Aborting! 
output is 0000028518>Nov 12 03:36:52 hostname gdm[27726]: GDM already running. Aborting! 
---------------------END:0 

但在一个AIX 5.3箱(KSH)我得到以下输出

Nov 12 03:36:52 hostname gdm[27726]: GDM already running. Aborting! 
output is 0000028518>Nov 12 03:36:52 hostname gdm[27726]: GDM already running. Aborting!---------------------END:0 

没有 “新线” 之后的 “中止!”由于第二个最后的回声命令,它应该在那里。

这只发生在特定的盒子上。 有人可以告诉我为什么这样吗?

某些版本的Unix有一个echo,如果没有参数,它不会输出任何内容,甚至不会换行。可能是AIX是其中的一个(我从来没有用过,所以不知道)。取而代之:

echo '' 

这告诉echo输出一个空字符串,然后换行符。

+0

我检查了....但多数民众赞成没有问题...还有一些其他命令类似于此....回声W/O参数工作正常...这就是为什么我难倒...这就是对这个特殊的命令是失败的 – peter 2010-11-12 12:07:20