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输出一个空字符串,然后换行符。
我检查了....但多数民众赞成没有问题...还有一些其他命令类似于此....回声W/O参数工作正常...这就是为什么我难倒...这就是对这个特殊的命令是失败的 – peter 2010-11-12 12:07:20