Skip to content
Latchkey

O Que É Bash? O Bourne Again Shell Explicado

Bash é um shell Unix e linguagem de scripting amplamente usados, o interpretador de comandos padrão na maioria dos sistemas Linux e na maioria dos runners de CI.

Bash, abreviação de "Bourne Again SHell", é o programa que roda a vasta maioria dos shell scripts no mundo, incluindo a maioria dos steps em um pipeline de CI. Ele é compatível com o antigo Bourne shell mas adiciona arrays, melhor tratamento de strings e muitas conveniências. Por ser tão comum, "shell script" e "Bash script" são frequentemente usados de forma intercambiável.

De onde o Bash veio

Bash foi escrito como um substituto livre para o Bourne shell original (sh) do Unix. Ele manteve compatibilidade retroativa enquanto adicionava recursos, e se tornou o shell de login padrão na maioria das distribuições Linux.

Bash vs sh

O sh puro é um shell POSIX mínimo; o Bash é um superset com extras como arrays, testes [[ ]] e substituição de processos. Um script que usa recursos exclusivos do Bash vai quebrar se rodado pelo sh, o que é uma causa comum de bugs do tipo "funciona localmente, falha na CI".

O que o Bash adiciona

  • Arrays e arrays associativos para dados estruturados.
  • A construção de teste [[ ]] com pattern matching.
  • Brace expansion como file.{js,css}.
  • A opção set -o pipefail para pipelines mais seguros.

Bash como linguagem de scripting

Bash é mais que um prompt: ele tem variáveis, loops, funções e condicionais. Pipelines de CI se apoiam fortemente nele para colar ferramentas de build, rodar testes e moldar a saída, então um pouco de fluência em Bash rende muito.

Por que o Bash importa em CI

A maioria dos steps run: de workflow executa através do Bash por padrão no Linux. A forma confiável de fazer um script Bash de CI falhar ruidosamente no primeiro erro é iniciá-lo com set -euo pipefail, que transforma falhas silenciosas em jobs interrompidos.

Bash em runners gerenciados

Os runners Latchkey trazem um Bash padrão para que o mesmo script rode identicamente toda vez. Você ainda controla a rigidez: adicionar set -euo pipefail no topo de um step é o hábito de maior alavancagem para pipelines confiáveis.

Principais conclusões

  • Bash é o shell padrão na maioria dos sistemas Linux e runners de CI.
  • Ele é um superset do POSIX sh, então recursos exclusivos do Bash podem quebrar sob o sh puro.
  • Iniciar scripts com set -euo pipefail faz o Bash falhar rápido e alto na CI.

Guias relacionados