尝试将echo的输出传递到mkdir命令

Fin*_*ghi 3 terminal pipeline echo mkdir

我知道该echo命令会打印所有参数,并且不会从stdin中读取。

但是当我尝试echo NAME | mkdir使它告诉我:mkdir: missing operand

我尝试从中读取man mkdir,但是它没有告诉我mkdir从哪里读取。

Lee*_*eor 5

您正在传递名称作为输入,mkdir需要一个参数

尝试:

echo NAME | xargs mkdir
Run Code Online (Sandbox Code Playgroud)

这里的xargs恰好提供了缺失的链接:它将输入流作为参数传递给程序(在本例中为mkdir)。请注意,这会将空格分隔的元素解析为不同的arg,因此请谨慎使用。

有关更多信息,请查看 man xargs