echo 在命令中不起作用

发布于 2024-10-02 14:36:29 字数 802 浏览 9 评论 0原文

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

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!”之后没有“新行”由于倒数第二个 echo 命令,它应该在那里。

这种情况只发生在那个特定的盒子上。 有人能告诉我为什么会这样吗?

I run following command for log monitoring.

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;

The expected output is

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

But on one AIX 5.3 box(ksh) I get following output

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

There is no "new line" after "Aborting!" which should be there because of second last echo command.

This happens only on that particular box.
Can anybody please tell me why this is so?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神经暖 2024-10-09 14:36:29

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

echo ''

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

Some versions of Unix have an echo that outputs nothing, not even a newline, if it has no arguments. Might be AIX is one of these (I have never used so don't know). Do this instead:

echo ''

This tells echo to output an empty string, followed by a newline.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文