Todo sysadmin *nix que se preze tem que conhecer shell scripting pelo menos razoavelmente. Conhecer bem com certeza vai fazer sua vida mais fácil (ou mais difícil, já que as tarefas complexas vão ser redirecionadas para você). Agora, masterizar é coisa para poucos. Sou metido a besta, mas acompanhando a lista shell script brasileira eu vira-e-mexe fico maravilhado com as coisas que o povo consegue fazer. Quando crescer quero ser igual ao Júlio C. Neves. 🙂

Uma feature que vale a pena ser aprendida em shell-scripting é a capacidade de expansão do shell, principalmente o Bash, que é o shell standard em qualquer distribuição Linux e vários Unixes por ai.

Veja o seguinte caso:

Vira e mexe eu preciso fazer manutenção e alterar coisas em múltiplos clientes. Normalmente em um arquivo ou outro enterrado no fundo de uma pilha de sub-diretórios. Algo como:

E ai são 150 clientes que precisam desse arquivo atualizado. Nada que um loop for não resolva, certo?

Ora, mas que tal isso?

Qual a diferença?

Além de muito mais elegante é muito mais rápido.

Outros truques interessantes:

Um comando, 601 diretórios e sub-diretórios criados.

E você pode especificar mais detalhadamente:

Que tal renomear um arquivo?

Da próxima vez que precisar de um shell-script tente encaixar algumas expansões lá. Depois de um tempo fica natural. 😉