Commande pour effectuer un chmod récursif pour rendre tous les fichiers .sh dans un répertoire exécutable?


Réponses:


25

Pour rendre cela possible, vous pouvez utiliser la findcommande et rechercher tous les fichiers avec une .shextension, puis exécuter la chmodcommande sur chacun trouvé:

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

Information:

  1. -type f: Fichiers normaux uniquement (sauter les répertoires, liens symboliques, canaux et sockets nommés et les fichiers spéciaux trouvés dans / dev)
  2. -iname: Ignorer la casse dans le nom
  3. "*.sh": Globbing, indiquant à la findcommande de rechercher des fichiers avec l'extension ".sh"
  4. -exec chmod +x {}: Ceci indique à la findcommande d'exécuter une chmodcommande sur chaque fichier trouvé. Rendre chaque exécutable
  5. \;: Indication de fin de commande
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.