首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么xargs xargs会执行xargs将打印到屏幕上的操作?

为什么xargs xargs会执行xargs将打印到屏幕上的操作?
EN

Stack Overflow用户
提问于 2017-06-20 01:15:53
回答 1查看 597关注 0票数 0

据我所知,Linux中的xargs命令可以用于接收一个命令的输出,并将其作为另一个命令的输入。但是,我注意到,将xargs作为参数传递给自身执行以前的操作,如果它没有参数被调用,并且默认为echo,那么它就是以前的输出。我的问题是为什么调用xargs作为参数来执行输出?

代码语言:javascript
复制
$ echo ls | xargs

ls

$ echo ls | xargs xargs
AppData
'Application Data'
centos-7.box
Contacts
Cookies
Desktop
Documents
Downloads
Dropbox
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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很有帮助,它在运行命令之前打印命令:

代码语言:javascript
复制
$ echo foo | xargs -t xargs -t
xargs -t foo 
foo 
xargs: foo: No such file or directory
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44642276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档