据我所知,Linux中的xargs命令可以用于接收一个命令的输出,并将其作为另一个命令的输入。但是,我注意到,将xargs作为参数传递给自身执行以前的操作,如果它没有参数被调用,并且默认为echo,那么它就是以前的输出。我的问题是为什么调用xargs作为参数来执行输出?
$ echo ls | xargs
ls
$ echo ls | xargs xargs
AppData
'Application Data'
centos-7.box
Contacts
Cookies
Desktop
Documents
Downloads
Dropbox发布于 2017-06-20 01:25:59
echo foo打印foo。echo foo | xargs bar在没有输入的情况下运行bar foo;它等同于bar foo </dev/null。echo ls | xargs xargs在没有输入的情况下运行xargs ls;它等同于xargs ls </dev/null。xargs ls只运行ls一次。将来,您可能会发现使用-t标志对xargs很有帮助,它在运行命令之前打印命令:
$ echo foo | xargs -t xargs -t
xargs -t foo
foo
xargs: foo: No such file or directoryhttps://stackoverflow.com/questions/44642276
复制相似问题