Escrever os mesmos comandos no terminal todos os dias é um desperdício de tempo e talento. Com scripts simples, você transforma sequências manuais e repetitivas em ferramentas de um clique, eliminando erros humanos e liberando sua agenda para o que realmente importa.
Um Shell Script é um arquivo de texto executável que contém uma série de comandos do terminal, processados sequencialmente pelo interpretador do sistema (como o Bash). Funciona como uma “receita de bolo” que o Linux lê e executa automaticamente, linha por linha.
Resumo da atualização:
- Estrutura: Guia prático de criação com sintaxe moderna (Shebang portátil).
- Segurança: Explicação detalhada sobre permissões de execução (
chmod).
- Produtividade: Uso de variáveis para backups dinâmicos e datados.
O que você precisa saber antes de começar
Para criar scripts eficientes em 2026, você não precisa ser um programador avançado, mas deve dominar a base do terminal. A maioria das distribuições Linux (Ubuntu, Fedora, Mint) utiliza o Bash como interpretador padrão, embora o Zsh tenha ganhado popularidade.
A lógica é simples: se você consegue digitar um comando no terminal, você consegue colocá-lo em um script. A diferença é que o script permite lógica condicional (se/então), loops (repetição) e variáveis.
Como criar e executar seu primeiro script
Vamos criar um script de backup real e funcional. Em vez de apenas copiar arquivos, ele criará um arquivo compactado com a data atual, algo essencial para rotinas profissionais.
1. Abra seu editor de texto
Você pode usar editores gráficos ou via terminal. Para este tutorial, usaremos o nano pela simplicidade.
Digite no terminal:
nano backup_automatico.sh2. Defina o interpretador (Shebang)
A primeira linha é crucial. Ela diz ao Linux qual programa deve ler o arquivo.
Escreva na primeira linha:
#!/usr/bin/env bash
# O comando acima garante compatibilidade entre diferentes distros3. Escreva a lógica do script
Vamos criar um script que define variáveis (data e diretórios) e executa a compressão.
Copie e cole o código abaixo:
# Define a data atual no formato Ano-Mes-Dia (ex: 2026-05-12)
DATA_ATUAL=$(date +%F)
# Define diretórios de origem e destino
ORIGEM="/home/seu_usuario/documentos"
DESTINO="/home/seu_usuario/backups"
ARQUIVO="backup_docs_$DATA_ATUAL.tar.gz"
# Cria o diretório de destino se ele não existir
mkdir -p $DESTINO
echo "Iniciando backup de $ORIGEM..."
# Compacta os arquivos
# c = create, z = gzip, v = verbose (mostra na tela), f = file
tar -czvf "$DESTINO/$ARQUIVO" "$ORIGEM"
echo "Sucesso! Backup salvo em: $DESTINO/$ARQUIVO"4. Salve o arquivo
No nano, pressione Ctrl+O para salvar e Enter para confirmar. Depois, Ctrl+X para sair.
5. Conceda permissão de execução
Por padrão, arquivos de texto não são executáveis no Linux por segurança. Você precisa alterar isso.
Execute:
chmod +x backup_automatico.sh
DICA: Se estiver em um servidor compartilhado, use chmod u+x para dar permissão apenas ao seu usuário, aumentando a segurança.
6. Execute o script
Para rodar seu novo programa, chame-o pelo caminho relativo.
Digite:
./backup_automatico.shSolução de problemas comuns
Mesmo scripts simples podem falhar. Aqui estão os erros mais frequentes em 2026 e como resolvê-los.
Erro: “Permissão negada” (Permission denied)
Isso ocorre quando você pula o passo 5. O Linux enxerga o arquivo apenas como texto.
Solução: Verifique as permissões com o comando ls -l nome_do_script.sh. Se não houver um x na string de permissões, rode o chmod +x novamente.
Erro: “Comando não encontrado” (Command not found)
Se você tentar rodar digitando apenas backup_automatico.sh, o Linux não o encontrará, pois o diretório atual não está na variável $PATH do sistema.
Solução: Sempre use o prefixo ./ antes do nome do script (ex: ./script.sh) ou mova o arquivo para a pasta /usr/local/bin se quiser executá-lo de qualquer lugar.
Erro de sintaxe (Syntax error)
Um erro comum ao copiar scripts do Windows para o Linux é a diferença nas quebras de linha (CRLF vs LF).
Solução: Use a ferramenta dos2unix nome_do_script.sh para converter o formato do arquivo, garantindo que o interpretador Bash consiga lê-lo corretamente.
ALERTA: Jamais execute scripts baixados da internet sem ler o conteúdo antes. Comandos maliciosos como rm -rf / podem ser ofuscados dentro de scripts aparentemente inofensivos.
Perguntas Frequentes (FAQ)
Qual a diferença entre Shell Script e Bash?
Shell é o conceito geral da interface de linha de comando, enquanto Bash (Bourne Again Shell) é uma linguagem específica e o interpretador mais comum usado para escrever esses scripts. Existem outros shells como Zsh e Fish.
Como faço para o script rodar automaticamente todo dia?
Você deve usar o Cron. Digite crontab -e no terminal e adicione uma linha agendando a execução. Alternativamente, em sistemas modernos (systemd), você pode usar “Timers”, que oferecem logs mais detalhados.
Preciso saber programação para criar scripts?
Não para o básico. Scripts são, essencialmente, listas de comandos que você já usaria manualmente. Porém, aprender lógica de programação (loops for, condicionais if) permite criar ferramentas muito mais poderosas e robustas.
