为什么执行邮件命令后 Ubuntu 命令提示符没有提示?

为什么执行邮件命令后 Ubuntu 命令提示符没有提示?
uuencode text.txt | mail -s "hai" "[email protected]" < body.txt

执行此命令后,终端为空白。它没有提示下一个命令。我必须按 ctrl+z 才能返回终端。

可能是什么问题呢?

答案1

好吧,你不要这样做;-) 不过,尝试不错!

您使用管道“|”将 uuencode 命令的输出写入 mail 命令的输入通道(又称 stdin,标准输入)。您还使用 shell 重定向“<”将 body.txt 文件的内容写入 mail 命令的输入通道。

这很含糊。我现在不确定什么优先,或者 shell 如何处理这种情况。您可能最终会遇到其中一个程序要求输入的情况。

更好地阐明 shell,要做什么,按什么顺序做。例如,这样写:

(cat body.txt; uuencode text.txt) |mail -s "hai" "[email protected]"

这将一次性执行 cat (文件打印机)和 uuencode(由于括号,准确地说是在子 shell 中),并将公共输出通过管道传输到邮件程序

相关内容