Perintah untuk melakukan chmod rekursif untuk membuat semua file .sh dalam direktori yang dapat dieksekusi?

13

Mencoba untuk melakukan chmod rekursif pada semua file .sh dalam direktori untuk membuatnya dieksekusi

Arunava
sumber
Lihatlah ke dalam finddan mungkin xargs.
fkraiem

Jawaban:

25

Untuk memungkinkan ini, Anda dapat menggunakan findperintah dan mencari semua file dengan .shekstensi dan kemudian jalankan chmodperintah pada masing-masing yang ditemukan:

find /directory/of/interest/ -type f -iname "*.sh" -exec chmod +x {} \;

Informasi:

  1. -type f: Hanya file normal (lewati direktori, symlink, pipa dan soket bernama, dan file khusus yang ditemukan di / dev)
  2. -iname: Abaikan huruf besar-kecil dalam nama
  3. "*.sh": Globbing, memberi tahu findperintah untuk mencari file dengan ekstensi ".sh"
  4. -exec chmod +x {}: Ini memberi tahu findperintah untuk melakukan chmodperintah pada setiap file yang ditemukan. Membuat setiap eksekusi
  5. \;: Menunjukkan akhir dari perintah
George Udosen
sumber