Claro que não. É possível utilizarmos instruções comuns de programação como estruturas de repetição (for ou while), estruturas de decisões (if), criar funções, variáveis e muito mais.
Vamos evoluir nosso script listar.sh.Neste exemplo, mostraremos um menu com 3 opções de arquivos que podem ser listados no diretório /tmp.
O comando echo utilizado várias vezes durante o script, simplesmente exibe uma mensagem no terminal. Qualquer coisa à frente do comando echo e escrito entre aspas duplas será mostrado no terminal.
Na linha 6, o comando read aguarda uma entrada do usuário no terminal e armazenar o valor dentro da variável $text.
O comando da linha 7 nós já utilizamos no exemplo anterior, ele simplesmente muda nosso diretório para o /tmp onde queremos listar os arquivos.
Entre as linhas 10 e 25, analisamos o conteúdo da variável $text e tomamos decisões para cada opção exibida no menu e também para o caso do usuário entrar com algo não esperado, um decisão para a exceção.
Dentro do if, precisamos fazer a análise do valor em uma instrução que precisa retornar verdadeiro ou falso. Nesse caso, analisamos se $text é igual a 1, 2 ou 3. Quando a opção for verdadeira, a instrução após a cláusula then será executado. Caso nenhuma das instruções sejam verdadeiras, será executado a instrução da cláusula else.
Esse é um exemplo muito simples, mas que mesclam instruções comuns que executamos via terminal com instruções de linguagens de programação. Com isso, as possibilidades de criação e poder do shell script poderão ser levados ao infinito. Dependendo somente da sua imaginação e da sua necessidade.
Shell script é uma linguagem muito simples e poderosa, pronta para te ajudar em qualquer tarefa em que precisar executar comandos em lote no seu servidor, no seu cloud ou até mesmo no seu micro pessoal.
Formado em Ciências da Computação, atuando desde 2000 com desenvolvimento de sistemas em diversas linguagens como C#, Asp.Net, Java, Groovy, Python, Scala, esta sempre buscando novos desafios para aumentar seu conhecimento e elevar seu nível técnico. Na busca por novos conhecimentos, viu no DevOps uma grande oportunidade de conhecer tecnologias diferentes e mesclar programação com infraestrutura. Essa experiência trouxe conhecimento e prática em ferramentas como Jenkins, GitLab, Ansible, Puppet, Docker, AWS entre muitas outras. Sempre disposto a compartilhar conhecimento e conhecer outros apaixonados por tecnologia.
Muito bom, sempre fui fã de Shell, Steve Parker é ótimo, sempre com excelentes exemplos práticos. Parabéns pelo artigo!

Um brasileiro morreu vítima de acidente de trânsito na cidade paraguaia de Mariscal José Felix Estigarribia, localizada a cerca de 800 quilômetros de Foz do Iguaçu. Albino Frank, de 67 anos, era ocupante de um Toyota Corolla, que colidiu contra um ônibus.
O acidente aconteceu na manhã de domingo, no quilômetro 217 da Rota II, na localidade de Campo 8, envolvendo o Corolla, com placa de Itaipulândia, e um ônibus de turismo de uma empresa paraguai. Porém, não há detalhes de como a colisão aconteceu.