Bir dizindeki tüm .sh dosyalarını yürütülebilir yapmak için özyinelemeli bir chmod gerçekleştirme komutu?


14

Bir dizindeki tüm .sh dosyalarında yürütülebilir olmasını sağlamak için özyinelemeli bir chmod gerçekleştirmeye çalışmak


Bakın findve belki xargs.
fkraiem

Yanıtlar:


26

Bunu mümkün kılmak için findkomutu kullanabilir ve bir .shuzantıya sahip tüm dosyaları arayabilir ve ardından chmodbulunan her birinde komutu çalıştırabilirsiniz :

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

Bilgi:

  1. -type f: Yalnızca normal dosyalar (dizinleri, sembolik bağlantıları, adlandırılmış yöneltmeler ve soketleri ve / dev'de bulunan özel dosyaları atla)
  2. -iname: Adındaki davayı yoksay
  3. "*.sh": Globbing, find".sh" uzantılı dosyaları arama komutunu söylüyor
  4. -exec chmod +x {}: Bu komutta bulunan her dosyada findbir chmodkomut yürütmesini söyler . Her yürütülebilir dosyayı yapma
  5. \;: Komutun sonunu gösteren
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.