考虑这个命令:
ls /mydir/*.txt | xargs chown root
Run Code Online (Sandbox Code Playgroud)
目的是将所有文本文件的所有者更改mydir为root
问题是,如果没有.txt文件,mydir则xargs会发出一条错误,指出没有指定路径.这是一个无害的例子,因为被抛出一个错误,但在某些情况下,如在我需要在这里使用的脚本,假设一个空白的路径是当前目录.因此,如果我/home/tom/从那时起运行该命令,如果没有结果,ls /mydir/*.txt并且所有文件/home/tom/都将其所有者更改为root.
那么我如何让xargs忽略空结果呢?