Pertimbangkan perintah ini:
ls /mydir/*.txt | xargs chown root
Tujuannya adalah mengubah pemilik semua file teks mydir
menjadi root
Masalahnya adalah jika tidak ada .txt
file di dalam mydir
xargs maka muncul kesalahan yang mengatakan tidak ada path yang ditentukan. Ini adalah contoh yang tidak berbahaya karena kesalahan sedang terjadi, tetapi dalam beberapa kasus, seperti dalam skrip yang perlu saya gunakan di sini, jalan kosong diasumsikan sebagai direktori saat ini. Jadi jika saya menjalankan perintah itu dari /home/tom/
maka jika tidak ada hasil untuk ls /mydir/*.txt
dan semua file di bawah /home/tom/
memiliki pemiliknya diubah menjadi root.
Jadi bagaimana saya bisa membiarkan xargs mengabaikan hasil kosong?
git branch --merged | grep -v '^* ' | xargs git branch -d
ls
untuk penggunaan program; lihat mywiki.wooledge.org/ParsingLs