首页 > 系统服务 > 详细

linux下xargs和管道的区别

时间:2017-08-24 14:25:03      阅读:257      评论:0      收藏:0      [点我收藏+]

管道将前面的标准输出作为后面的标准输入,xargs则将标准输入作为命令的参数

你可以试试运行如下代码:

echo "--help"|cat
echo "--help"|xargs cat

结果如下:

技术分享

如果你直接在命令行输入cat后回车,而不输入命令参数,这时cat会等待标准输入,你通过键盘输入内容并按回车来,cat进程会读取输入并原样返回。

所以如果此时你输入--help,那么cat程序会在标准输出上输出--help

技术分享

也就是说,

  • 管道符 | 所传递给程序的不是你简单地在程序名后面输入的参数,它们会被程序内部的读取功能如scanf和gets等接收
  • xargs则是将内容作为普通的参数传递给程序,在这个例子中相当于你手写了 cat --help,系统会输出cat的帮助文档

来自:http://forum.ubuntu.org.cn/viewtopic.php?t=354669

linux下xargs和管道的区别

原文:http://www.cnblogs.com/lexiaofei/p/7422826.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!