2010-11-12 93 views
0

我運行以下命令進行日誌監視。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 

沒有 「新線」 之後的 「中止!」由於第二個最後的回聲命令,它應該在那裏。

這隻發生在特定的盒子上。 有人可以告訴我爲什麼這樣嗎?

回答

0

某些版本的Unix有一個echo,如果沒有參數,它不會輸出任何內容,甚至不會換行。可能是AIX是其中的一個(我從來沒有用過,所以不知道)。取而代之:

echo '' 

這告訴echo輸出一個空字符串,然後換行符。

+0

我檢查了....但多數民衆贊成沒有問題...還有一些其他命令類似於此....回聲W/O參數工作正常...這就是爲什麼我難倒...這就是對這個特殊的命令是失敗的 – peter 2010-11-12 12:07:20