考虑以下命令:
ls /mydir/*.txt | xargs chown root
目的是将所有文本文件的所有者更改mydir为root
问题是,如果其中没有.txt文件,mydir则xargs会引发错误,指出未指定路径。这是一个无害的示例,因为会引发错误,但是在某些情况下,例如在我需要在此处使用的脚本中,假定空白路径为当前目录。因此,如果我/home/tom/从那时开始运行该命令,如果没有结果,ls /mydir/*.txt并且所有文件/home/tom/的所有者都更改为root。
那么,如何让xargs忽略空结果?
git branch --merged | grep -v '^* ' | xargs git branch -d,它在输入为空时也会失败
ls用于程序设计;参见mywiki.wooledge.org/ParsingLs