为什么echo foo | wall
有效但cat | wall
不起作用?在后一种情况下,我在 cat 中输入几行,理论上它们应该通过管道连接到墙上;然而,什么也没发生。
答案1
wall
不会将其输入的每一行作为单独的消息发送。它收集整个输入,以便可以Broadcast Message from ...
在消息之前发送单个标题,而不是为每一行发送单独的标题。
如果您想一次处理一行输入,您可以在cat
和之间插入一个循环wall
:
cat |while read -r line; do wall <<<"$line"; done