2017-05-30 107 views
0

我知道echo命令会打印它的所有参数,并且它不会从stdin读取。尝试将echo的输出传递给mkdir命令

但是,当我试图使echo NAME | mkdir告诉我:mkdir: missing operand

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

回答

0

你传递的名称作为输入,MKDIR预计参数

尝试:

echo NAME | xargs mkdir 

xargs的位置正好提供了缺失的一环:需要输入流,并将其传递到程序(mkdir,在这种情况下)为论据。 请注意,这会将空白分隔的元素解析为不同的参数,因此请谨慎使用。

欲了解更多信息,只是看man xargs

+0

哦,很酷,它的工作。 你能解释一下为什么和xargs是什么? –

+0

@FineasSilaghi,编辑我的答案。我认为xargs是linux中最有用的工具之一,也是人们从未听说过的 – Leeor

0

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

mkdir NAME