A importância de saber Shell Script

Olá pessoal,

Gostaria de perguntar para o pessoal mais experiente se ter conhecimento em shell script é essencial, vejo bastante vagas (principalmente para back-end) em que é necessário saber Shell.
Inclusive já vi a descrição de uma vaga em que eles descreviam assim: “Saber falar mais shell do que português é essencial”. rs

Eu gostaria muito de me especializar em back-end, já tenho um conhecimento em Java e me deparei com a “necessidade” de me aprofundar um pouco mais no Linux ao invés de ser um usuário comum, estudando Linux me deparo com Shell Script e vou me aprofundando mais nisso e quando paro para reparar muitas vagas solicitam o conhecimento, por isso gostaria de saber se devo me aprofundar de verdade ou o conhecimento necessário para a maioria dessas vagas é superficial.

É realmente necessário manjar de shell e UNIX no geral. Existe um livro extremamente bom do Sumitabha Das, chamado de “Your UNIX/Linux”. É o livro de UNIX/Linux utilizado com bibliografia na University of California - Berkeley, na cadeira de Linux que eles ensinam lá (fiz ano passado e aprendi pra caramba).

O principal motivo pra você saber utilizar o shell é que quando for acessar um servidor remoto, não tem interface gráfica, é tudo na linha de comando. Você vai precisar automatizar tarefas para não precisar ficar fazendo elas manualmente, e também para que outras pessoas possam fazer o que você faz.

Além disso, você precisa entender os scripts de inicialização do servidor caso queira alterar alguma coisa. Também é necessário entender isso para agendar trabalhos no servidor, como backup e outras rotinas (e evitar o trabalho manual repetitivo, que sempre é passível de erros).

Também tem a questão de segurança, que você tem que entender para não fazer besteira no servidor de produção e abrir brecha pra invasões.

Não é nada complicado, as coisas fazem sentido, sempre há uma razão para algo ser como é. A comunidade é bem grande e já existem centenas de perguntas respondidas pela Internet. E sempre existe umas 200 maneiras diferentes de realizar uma determinada tarefa, uma mais criativa do que a outra. Se você já sabe programar, vai tirar de letra.

Enfim, tl;dr, é imporante sim.

1 curtida

Muito obrigado pela resposta @Ivbarbosa. Me ajudou muito.

Como tive que entender o mundo Linux decidi tirar a certificação LPIC-1, estou estudando a umas duas semanas, até que cai no mundo do shell script e notei que era praticamente uma “linguagem de programação” já que possui laços condicionais, laços de repetição, operadores lógicos, etc… Ai me surgiu a dúvida se essa linguagem estrutural era realmente útil.

Enfim, obrigado e vou pesquisar o livro recomendado.

Tenho mais de 8 anos de experiência em desenvolvimento de software e até hoje não precisei aprender ShellScript. Até o momento não vejo necessidade de aprender também. Acho que depende muito do que você precisa fazer, em que área vai atuar mais

1 curtida

@igor_ks Eu também não, e faz bem mais de 8 anos. Essas coisas dependem do cenário que a pessoa está, tem lugar que o desenvolvedor tem que se virar com infra, eu pelo menos detesto infra.

@BlackHeartH Se está começando agora, a lista do que deve ser priorizado aprender é grande até cogitar ShellScript.

Concordo com vocês sobre o fato de que é comum o desenvolvedor não mexer com infra, mas com certeza é um diferencial legal na hora de contratação, principalmente se tá descrito nas skills da vaga como o OP falou. Uma coisa é certa: saber é uma vantagem.

O que quis demonstrar com meu comentário, é que não concordo com a afirmação acima, de que tem que saber mais shellscript do que português. Não acho importante assim, e nunca foi necessário pra mim. Agora se for levar pela a afirmativa de que “saber é um diferencial”, aí é diferente, e qualquer linguagem de programação entra como diferencial, mesmo assim vejo muitas outras coisas como diferenciais mais válidos para um programador backend do que saber shellscript.

Sei que a frase comparativa com o portugues também foi uma brincadeira, mas a nova geração devia levar mais a sério a linguagem nativa. Vejo muitos erros ridículos de português por aí, tanto na internet, quanto no trabalho.

É o tipo de conhecimento que daqui 10 anos ainda vai ser útil, enquanto frameworks como Hadoop… xiii… apenas vagas lembranças. rs