如何使用echo命令打印出文本文件的内容?

Ber*_*ard 6 unix

我试图弄清楚这个命令的用法是什么:

echo < a.txt
Run Code Online (Sandbox Code Playgroud)

根据教科书,它应该重定向程序标准输入.现在我将a.txt重定向到echo,但不是打印文件的内容而是打印出一个空行!感谢是否有人显示此行为.

hos*_*ter 10

echo 不读取标准输入,所以在这种情况下,重定向是没有意义的.

echo "Hello" | echo

要打印文件,只需使用以下命令

echo "$(<a.txt )"

  • 这里供将来参考:在我的例子中, `echo "$(&lt;a.txt )"` 适用于 bash shell (`bash`),但不适用于 Bourne shell (`sh`) - 这意味着如果你想要这个`echo "$(&lt;a.txt )"` 要工作,您可能需要将脚本的第一行设置为 `#!/bin/bash` 而不是 `#!/bin/sh`。否则,它可能无法工作。 (2认同)
  • 网络安全角度:在受限 shell 中,如果允许执行 `echo "$(&lt;flag.txt )"` 命令,则可以方便地读取文件。免责声明:本文中提供的信息仅用于教育目的,并不构成法律建议。 (2认同)

Sup*_*910 10

在 Unix 中,我相信假设你有一个不大的文件,你所要做的就是: cat <filename>

没有echo要求。