Script Bash para criar séries em massa de diretórios

2

Eu preciso criar um script Bash para acessar a pasta pessoal de todos os usuários, procurar uma pasta wp-content , criar um diretório uploads abaixo dela e, em seguida < strong> chmod 0756 uploads .

Como faço para isso?

Eu imagino que preciso usar o find com um regexp / regex, e então dizer para ele executar outro script bash nos resultados.

    
por ServerChecker 23.03.2010 / 01:25

2 respostas

2

Algo como isso deve funcionar (eu não testei)

dirs='find /home -type d -name "wp-content"' 

for dir in $dirs; do
    if [ ! -e $dir/uploads ]; then 
        mkdir $dir/uploads
        chmod 0765 $dir/uploads
    fi
done
    
por 23.03.2010 / 01:37
1

A resposta acima é melhor, mas aqui está uma alternativa primitiva, mas funcional:

for i in user1 user2;do mkdir $i/wp-content;chmod 0765 $i/wp-content;done

Isso pressupõe que você esteja no diretório pai de todos os seus usuários e eles estejam no mesmo diretório.

Isso também falhará se houver um arquivo chamado "uploads", mas continuará.

Boa sorte,

- jed

    
por 23.03.2010 / 02:16

Tags