Skip to content
Latchkey

O Que É um Shell Script? Automatizando Comandos em um Arquivo

Um shell script é um arquivo de texto contendo uma série de comandos de shell que rodam em ordem, usado para automatizar tarefas em vez de digitar cada comando à mão.

Um shell script transforma uma sequência de comandos em um programa repetível. Em vez de digitar dez comandos para construir e testar, você os salva em um arquivo e o roda uma vez. Pipelines de CI são, em essência, shell scripts: cada step é um pequeno script que o runner executa.

O que um shell script contém

É texto simples: comandos, variáveis, condicionais e loops, executados de cima para baixo por um shell. A primeira linha geralmente é uma shebang que nomeia o interpretador, e o arquivo é tornado executável para que possa rodar diretamente.

Executando um script

Você pode rodá-lo passando-o para um shell (bash deploy.sh) ou, se for executável e tiver uma shebang, chamando-o diretamente (./deploy.sh). O shell lê cada linha, a expande e a executa em sequência.

Por que scripts importam

  • Repetibilidade: os mesmos passos rodam da mesma forma toda vez.
  • Controle de versão: os scripts vivem no repo ao lado do código.
  • Composabilidade: pequenos scripts se combinam em workflows maiores.

Tornando os scripts seguros

Um script ingênuo continua depois que um comando falha, o que pode esconder erros. Adicionar set -euo pipefail perto do topo faz o script parar no primeiro erro, em variáveis indefinidas e em falhas dentro de pipelines.

Shell scripts em CI

Steps de CI são shell scripts curtos. Mantê-los pequenos, estritos e versionados no repo significa que qualquer um pode ler o que um pipeline faz e rodá-lo localmente para reproduzir uma falha.

Scripts em runners gerenciados

O Latchkey roda seus scripts de step em um ambiente de shell limpo e consistente, então um script que passa uma vez tende a continuar passando. Falhas transitórias de infraestrutura têm retry, então bugs genuínos de script se destacam em vez de se esconderem atrás da instabilidade.

Principais conclusões

  • Um shell script é um arquivo de comandos executados em sequência para automatizar uma tarefa.
  • Uma shebang line e o bit executável permitem que um script rode diretamente.
  • Steps de CI são shell scripts; torná-los estritos com set -euo pipefail os mantém honestos.

Guias relacionados