Comando para executar um chmod recursivo para tornar todos os arquivos .sh em um diretório executável?

13

Tentando executar um chmod recursivo em todos os arquivos .sh em um diretório para torná-los executáveis

Arunava
fonte
Olhe para dentro finde talvez xargs.
precisa saber é

Respostas:

25

Para tornar isso possível, você pode usar o findcomando e procurar todos os arquivos com uma .shextensão e, em seguida, executar o chmodcomando em cada um encontrado:

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

Em formação:

  1. -type f: Somente arquivos normais (pular diretórios, links simbólicos, pipes e soquetes nomeados e os arquivos especiais encontrados em / dev)
  2. -iname: Ignorar maiúsculas e minúsculas no nome
  3. "*.sh": Globbing, dizendo ao findcomando para procurar arquivos com extensão ".sh"
  4. -exec chmod +x {}: Isso diz ao findcomando para executar um chmodcomando em cada arquivo encontrado. Tornando cada executável
  5. \;: Indicando Fim do Comando
George Udosen
fonte