Aula 2.1 — Automatização de tarefas no Linux: shebang, echo, comentários, Vim e o fluxo criar–permitir–executar
🤖 Por que Aprender Shell Script?
Shell Script é um arquivo de texto com comandos Linux que o sistema executa em sequência, como uma receita automática. Em vez de digitar os mesmos 10 comandos toda manhã para fazer backup, você escreve o script uma vez — e ele faz tudo sozinho, para sempre.
😫
Sem ScriptFazer backup manualmente todo dia às 6h
➡
🤖
Com ScriptO computador faz sozinho enquanto você dorme!
⏱ 10 minutos por dia × 365 dias = 60 horas por ano economizadas! Um sysadmin que sabe Shell Script faz em segundos o que um iniciante faz em horas.
📋 Situações práticas
Backup diário automático de arquivos e bancos de dados
Instalação e configuração de programas em lote em novos servidores
Monitoramento de serviços (reiniciar automaticamente se cair)
📝 Estrutura de um Shell Script
Um script Shell é um arquivo de texto simples (com extensão .sh) que contém comandos Linux, um por linha. Três elementos formam a base de qualquer script.
meu_script.sh
#!/bin/bash# ① Shebang — SEMPRE na 1ª linha# Script: Informações do Sistema# ② Comentário — explicação# Autor: César Azevedoecho"==== INFO DO SISTEMA ===="# ③ Comandosecho"Usuário: $(whoami)"echo"Pasta: $(pwd)"echo"Data: $(date)"
① Shebang — #!/bin/bash
A primeira linha do script declara qual interpretador deve executar o arquivo. #! é o prefixo obrigatório; /bin/bash é o caminho do Bash.
⚠️ Regras do Shebang: deve estar exatamente na primeira linha, sem nenhum espaço antes do # e sem espaço entre # e !. ❌ #!/bin/bash (espaço antes) invalida o shebang.
② Comentários — #
Linhas que começam com # (após o shebang) são ignoradas pelo Shell. Use para documentar o que cada parte faz, quem escreveu e quando.
③ Comandos
Os mesmos comandos que você digita no terminal funcionam nos scripts. O Shell executa-os linha por linha, de cima para baixo.
🚀 Criando seu Primeiro Script
O fluxo de trabalho é sempre o mesmo: criar → dar permissão → executar. Veja passo a passo:
1
Criar o arquivo com o Vim
bash
usuario@servidor:~$vimprimeiro.sh
2
Entrar em modo de inserção no VimPressione i para começar a digitar.
3
Digitar o conteúdo do script
primeiro.sh — INSERT
#!/bin/bash# Meu primeiro script!echo"Olá, Linux!"echo"Usuário: $(whoami)"echo"Pasta: $(pwd)"date
4
Salvar e sair do VimPressione Esc para sair do modo INSERT, depois digite :wq e pressione Enter.
❓ Por que ./ antes do nome? Significa “procure o arquivo aqui, nesta pasta”. Sem ele, o Shell procuraria apenas nas pastas do sistema ($PATH) e não encontraria seu script.
⌨️ Vim Essencial
O Vim é o editor padrão em servidores Linux. Você precisa conhecer apenas estes comandos para criar e editar scripts:
⌨️ Comandos que você precisa saber
NAVEGAÇÃO E EDIÇÃO
Tecla
Ação
i
Modo INSERT (digitar)
a
INSERT após cursor
o
Nova linha abaixo
Esc
Sair do INSERT
dd
Deletar linha
yy
Copiar linha
p
Colar
u
Desfazer (undo)
SALVAR E SAIR
Comando
Ação
:w
Salvar (write)
:q
Sair (quit)
:wq
Salvar e sair
:q!
Sair SEM salvar
:wq!
Forçar salvar e sair
🆘 Travou no Vim? Pressione Esc várias vezes → digite :q! → Enter.
📢 echo e Substituição de Comandos
O comando echo exibe texto na tela. É o principal meio de comunicar o script com o usuário. Dentro das aspas, você pode usar substituição de comandos com $(comando) para inserir a saída de outro comando dinamicamente.
💡 Aspas simples vs duplas: aspas duplas (") interpretam variáveis e substituições. Aspas simples (') tratam tudo como literal. echo "$USER" → usuario. echo '$USER' → $USER.
📦 Variáveis no Shell Script
Variáveis armazenam valores para reutilizar ao longo do script. No Bash, não há espaço entre o nome, o = e o valor. Para usar o valor, prefixe com $.
variaveis.sh
#!/bin/bash# Declarar variável — SEM espaços ao redor do =NOME="Alice"IDADE="22"SERVIDOR="192.168.1.10"HOJE=$(date +%d/%m/%Y)# variável com substituição# Usar variável — prefixe com $echo"Olá, $NOME! Você tem $IDADE anos."echo"Servidor: $SERVIDOR"echo"Relatório gerado em: $HOJE"Olá, Alice! Você tem 22 anos.Servidor: 192.168.1.10Relatório gerado em: 25/12/2025
⚠️ Erro comum:NOME = "Alice" (com espaços) causa erro. O Bash interpreta NOME como um comando. Sempre use NOME="Alice" sem espaços.
✅ Boas Práticas em Shell Script
📜
Sempre use shebangA primeira linha deve ser #!/bin/bash em todos os scripts, sem exceções.
🔤
Nomes em maiúsculas para variáveisConvention: NOME_ARQUIVO em maiúsculo para variáveis globais. Facilita distinguir de comandos.
🧪
Teste antes de automatizarExecute o script manualmente com dados reais antes de agendar com cron. Um erro em produção pode ser catastrófico.
🎯 Exercício — Arraste e Conecte
Arraste cada descrição para o comando ou conceito correto do Shell Script.
Descrição
Primeira linha obrigatória do script que indica ao sistema qual interpretador usar para executar o arquivo
Comando que exibe texto na tela; principal forma de comunicar o script com o usuário
Comando que concede permissão de execução ao arquivo de script antes de rodá-lo pela primeira vez
Prefixo ./ indica ao Shell que deve procurar o script no diretório atual, e não no PATH do sistema
Linha começando com # que é ignorada pelo interpretador e serve para documentar o código
Teclas usadas no Vim para salvar e sair do editor após digitar o conteúdo do script
Comando / Conceito
Shebang (#!/bin/bash)
echo
chmod +x
Execução com ./
Comentário (#)
Vim: Esc → :wq
🛠️ Atividade Prática — Meu Primeiro Script de Relório
⏱ ~30 min💻 Ubuntu Server / Terminal📸 Tirar screenshot da saída
1
Crie o diretório de scripts e o arquivo
Crie a pasta dedicada e abra o novo script no Vim. Pressione i para entrar em modo INSERT:
Confirme que o script tem o bit x ativo e que o arquivo de log foi criado:
bash — passo 5
usuario@servidor:~$ls-la~/scripts/-rwxr-xr-x 1 usuario usuario 285 Mar 22 10:28 relatorio.shusuario@servidor:~$ls-lh~/relatorio_*.txt-rw-r--r-- 1 usuario usuario 212 Mar 22 10:30 relatorio_20260322.txt
📌 Para refletir: Um script Shell é essencialmente uma lista de comandos que você já sabe usar. A grande transformação é que esses comandos passam a ser executados automaticamente, na ordem certa, toda vez, sem intervenção humana. Você acabou de criar seu primeiro robô administrador de sistemas.
❓ Verifique seu Conhecimento
O que é o shebang (#!) em um script Bash?
AUm comentário especial sem efeito
BA primeira linha que indica ao sistema qual interpretador usar
CUm comando para executar o script com sudo
DUm marcador de fim de arquivo
✓ O shebang #!/bin/bash na primeira linha indica ao kernel qual programa deve interpretar o script.
Qual permissão é necessária para executar um script com ./script.sh?
APermissão de leitura (r)
BPermissão de escrita (w)
CPermissão de execução (x)
DPermissão de superusuário (s)
✓ Use chmod +x script.sh para adicionar permissão de execução antes de rodar com ./script.sh.
Qual comando exibe texto na saída padrão em um script Bash?
Aecho
Bprint
Cwrite
Ddisplay
✓ echo é o comando básico para imprimir texto. Use echo -e para interpretar sequências como \n.
O que o comando chmod 755 script.sh define?
ASomente o dono pode ler o arquivo
BTodos podem escrever no arquivo
CNinguém pode executar o arquivo
DDono tem rwx; grupo e outros têm r-x
✓ 755 = 7(rwx para dono) + 5(r-x para grupo) + 5(r-x para outros). Padrão para scripts executáveis.