如何将一个 echo 的输出传递给另一个 echo 的输入?

如何将一个 echo 的输出传递给另一个 echo 的输入?

我正在尝试以下

echo 5 | echo

但什么也没得到。哪里出了问题?

答案1

grep和等命令awk可以接受标准输入(STDIN)作为参数,或使用管道的参数。但是,其他诸如cp和之类的语言echo则忽略标准输入流,而仅依赖于参数执行该命令后发现。

使用命令xargs您可以从标准输入构建和执行命令行,例如在您的例子中:

echo 5 | xargs echo

没有确切的规则可以知道命令是否接受标准输入,但是您可以使用以下两个规则稍微了解一下:

  • 如果该命令用于以某种方式操作文件的内容(grepsedawk),那么它通常可以从 STDIN 获取输入。

  • 如果该命令用于操作文件本身(例如mv,,rmcp或进程(例如killlsof)或返回有关某些内容的信息(例如top,, ) findps则不然。

相关内容