эхо не работает в команде - PullRequest
0 голосов
/ 12 ноября 2010

Я запускаю следующую команду для мониторинга журнала.

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

После "Aborting!" Нет "новой строки" который должен быть там из-за второй последней команды эха.

Это происходит только на этой конкретной коробке. Кто-нибудь, пожалуйста, скажите мне, почему это так?

1 Ответ

0 голосов
/ 12 ноября 2010

Некоторые версии Unix имеют эхо, которое ничего не выводит, даже символ новой строки, если у него нет аргументов.Может быть, AIX является одним из них (я никогда не использовал, так что не знаю).Сделайте это вместо:

echo ''

Это говорит эхо, чтобы вывести пустую строку, за которой следует новая строка.

...