gunakan temukan:
find . -name "*.sh" -exec chmod +x {} \;
Coba gunakan kombinasi hebat find dengan xargs.
find . -iname \*.sh -print0 | xargs -r0 chmod +x
.
adalah direktori untuk memulai, dalam hal ini direktori kerja.
Dengan versi modern find
, Anda mendapatkan keuntungan dari xargs
pendekatan yang menghindari banyak panggilan ke perintah (chmod
). Perintahnya hanya sedikit berbeda.
find . -name "*.sh" -exec chmod +x {} +
Ambil dari find
docs pada Arch 2015.09.01 (penekanan ditambahkan oleh saya):
-exec command {} +
Varian
-exec
ini action menjalankan perintah yang ditentukan pada file yang dipilih, namun baris perintah dibuat dengan menambahkan setiap nama file yang dipilih di bagian akhir; jumlah total pemanggilan perintah akan jauh lebih sedikit daripada jumlah file yang cocok . Baris perintah dibangun dengan cara yang hampir sama denganxargs
membangun baris perintahnya. Hanya satu instance dari{}
diperbolehkan dalam perintah. Perintah dijalankan di direktori awal.