echo不在命令中工作

时间:2010-11-12 09:57:28

标签: unix command-line aix

我运行以下命令进行日志监控。

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

“中止后”没有“新行”!因为第二个最后一个echo命令应该在那里。

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

1 个答案:

答案 0 :(得分:0)

如果没有参数,某些版本的Unix有一个不输出任何内容的echo,甚至不输出换行符。可能是AIX就是其中之一(我从未使用过,所以不知道)。这样做:

echo ''

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