试图将 echo 的输出传递给 mkdir 命令

Trying to pass the output of echo into mkdir command

我知道 echo 命令会打印所有参数,但不会从标准输入中读取。

但是当我尝试制作 echo NAME | mkdir 时,它告诉我:mkdir: missing operand.

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

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

尝试:

echo NAME | xargs mkdir

xargs 在这里提供了完全缺失的 link:它获取输入流,并将其作为 arguments 传递给程序(在本例中为 mkdir)。 请注意,这会将以空格分隔的元素解析为不同的参数,因此请谨慎使用。

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

mkdir 不从任何地方读取;它需要参数,例如

mkdir NAME