我知道echo
命令会打印它的所有参数,并且它不会从stdin读取。尝试将echo的输出传递给mkdir命令
但是,当我试图使echo NAME | mkdir
告诉我:mkdir: missing operand
。
我试图从man mkdir
读取,但它不告诉我mkdir从哪里读取。
我知道echo
命令会打印它的所有参数,并且它不会从stdin读取。尝试将echo的输出传递给mkdir命令
但是,当我试图使echo NAME | mkdir
告诉我:mkdir: missing operand
。
我试图从man mkdir
读取,但它不告诉我mkdir从哪里读取。
你传递的名称作为输入,MKDIR预计参数
尝试:
echo NAME | xargs mkdir
xargs的位置正好提供了缺失的一环:需要输入流,并将其传递到程序(mkdir,在这种情况下)为论据。 请注意,这会将空白分隔的元素解析为不同的参数,因此请谨慎使用。
欲了解更多信息,只是看man xargs
mkdir
没有从任何地方读取;它需要参数,例如
mkdir NAME
哦,很酷,它的工作。 你能解释一下为什么和xargs是什么? –
@FineasSilaghi,编辑我的答案。我认为xargs是linux中最有用的工具之一,也是人们从未听说过的 – Leeor