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

时间:2017-05-30 06:06:05

标签: terminal echo pipeline mkdir

我知道echo命令打印所有它的参数,而不是从stdin读取。

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

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

2 个答案:

答案 0 :(得分:4)

你传递名字作为输入,mkdir期待一个参数

尝试:

echo NAME | xargs mkdir

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

有关详细信息,请查看man xargs

答案 1 :(得分:0)

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

mkdir NAME