ls | du -sb
但它没有按预期工作.它仅输出当前’.’的大小.目录,那就是全部.
回声同样如此
ls | echo
输出空行.为什么会这样?
解决方法 使用管道将第一个命令的输出(stdout)发送到子进程的stdin(输入)(第二个命令).您提到的命令不会对stdin进行任何输入.例如,这可以用于cat(并且通过工作,我的意思是像没有参数的cat一样运行,只是传递你给它的输入):ls | cat
对于您的应用程序,这是xargs的用武之地.它接受管道输入并将其作为指定命令的参数.所以,你可以让它像:
ls | xargs du -sb
请注意,默认情况下,xargs将在空格中断开其输入,因此如果您的文件名包含空格,则无法按您的意愿工作.所以,在这种特殊情况下,这会更好:
du -sb *总结
以上是内存溢出为你收集整理的linux – 为什么du或echo pipelining不起作用?全部内容,希望文章能够帮你解决linux – 为什么du或echo pipelining不起作用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)