Introdução a bash scripts: sintaxe, variáveis, comandos
1. O que são bash scripts?
Se você já pensou: "Por que eu preciso repetir os mesmos comandos de novo e de novo?", então parabéns, você está pronto para bash scripts! Bash scripts são uma forma de automatizar seu trabalho no Linux escrevendo uma sequência de comandos em um único arquivo. Bash (Bourne Again Shell) não é apenas um shell, é um canivete suíço para admins, programadores e todo mundo que quer fazer o sistema trabalhar para si.
Vantagens dos bash scripts
- Economia de tempo: Escreve uma vez — roda oito vezes.
- Repetibilidade de tarefas: Os scripts rodam do mesmo jeito toda vez (bom, se você escreveu tudo certinho).
- Automatização de tarefas chatas: Crie comandos personalizados para backup, monitoramento de recursos ou gerenciamento de arquivos.
2. Básicos de criação de scripts
Beleza, bora começar. Um bash script é só um arquivo de texto com um monte de comandos. Mas pra Linux sacar que isso é um script e não umas anotações aleatórias do seu diário, você precisa seguir umas regrinhas.
Passo 1: Nome e formato do arquivo
Bash scripts geralmente têm a extensão .sh
(mas não é obrigatório). Tipo assim:
hello_world.sh
backup_script.sh
Passo 2: Cabeçalho obrigatório
Todo bash script começa com essa linha:
#!/bin/bash
Essa linha é chamada de shebang e fala pro sistema que pra rodar o script, ele tem que usar o interpretador /bin/bash
. Sem isso, o sistema só vai olhar pro seu script, dar um suspiro triste e não fazer nada.
Passo 3: Script mais simples
Bora criar e rodar um script que mostra "Olá, mundo!" na tela. No final das contas, por que não?
Cria o arquivo:
nano hello_world.sh
Adiciona essas linhas:
#!/bin/bash echo "Olá, mundo!"
Deixa o arquivo executável:
chmod +x hello_world.sh
Roda o script:
./hello_world.sh
Na tela vai aparecer:
Olá, mundo!
3. Trabalhando com variáveis
Variáveis são como armazenadores de dados no seu script. Elas tornam os scripts mais flexíveis e fáceis de usar.
Criando variáveis
Para declarar uma variável, use o formato:
NOME_DA_VARIAVEL="valor"
Exemplo:
NAME="Linux"
echo "Bem-vindo ao $NAME!"
Saída:
Bem-vindo ao Linux!
Note: não pode haver espaço entre o nome da variável e o sinal =
. Se você colocar um espaço, o bash vai achar que você tá tentando fazer algo estranho e vai dar erro.
Variáveis incorporadas
Bash fornece algumas variáveis predefinidas, por exemplo:
$USER
— usuário atual.$HOME
— diretório home.$PWD
— diretório de trabalho atual.
Tente este script:
#!/bin/bash
echo "Oi, $USER!"
echo "Seu diretório home: $HOME"
echo "Agora você está trabalhando aqui: $PWD"
4. Obtendo dados do usuário
Às vezes, o script precisa obter dados do usuário para funcionar. Para isso, usamos o comando read
.
Exemplo:
#!/bin/bash
echo "Qual o seu nome?"
read NAME
echo "Oi, $NAME!"
Ao executar o script, você poderá inserir seu nome, e o script irá te cumprimentar pessoalmente.
5. Usando comandos dentro de um script
O Bash permite executar comandos da mesma forma como se você os estivesse digitando no terminal.
Por exemplo:
#!/bin/bash
echo "Data e hora atual:"
date
O comando date
exibirá a data e hora atual, por exemplo:
Data e hora atual:
Mon Oct 30 12:34:56 UTC 2023
Salvando o resultado de um comando em uma variável
Você pode salvar a saída de um comando em uma variável usando $()
. Isso é útil para processar os dados posteriormente.
Exemplo:
#!/bin/bash
CURRENT_DATE=$(date)
echo "Agora: $CURRENT_DATE"
6. Comentários nos scripts
Sempre adicione comentários pra daqui a um mês você lembrar o que tava fazendo. Use o símbolo #
pros comentários:
#!/bin/bash
# Esse é um script de boas-vindas
echo "Bem-vindo ao mundo do Bash!"
Os comentários são ignorados pelo interpretador e não influenciam na execução.
7. Exemplo
Agora vamos escrever um script que verifica se um arquivo existe.
Crie o arquivo:
nano file_checker.sh
Adicione o código:
#!/bin/bash # Solicitação do nome do arquivo echo "Digite o nome do arquivo:" read FILE_NAME # Verifica se o arquivo existe if [ -f "$FILE_NAME" ]; then echo "O arquivo $FILE_NAME existe." else echo "O arquivo $FILE_NAME não foi encontrado." fi
Marque o arquivo como executável e execute:
chmod +x file_checker.sh ./file_checker.sh
Exemplo de execução do script:
Digite o nome do arquivo: test.txt O arquivo test.txt existe.
8. Erros comuns
Trabalhar com bash scripts traz não só alegria, mas às vezes também uma boa dose de dor de cabeça. Aqui estão alguns erros comuns:
Shebang ausente.
Sem a linha#!/bin/bash
seu script pode tentar rodar em outro interpretador, o que levará a erros.Variáveis não declaradas.
Se você acidentalmente cometer um erro no nome de uma variável, o bash a tratará como vazia. Ative o modo de verificação rigorosa usandoset -u
no início do script.Espaços ao redor de
=
.
Nunca escreva assim:VARIABLE = "value"
. Isso vai causar um erro.Problemas de permissões.
Se o script não tiver permissão de execução, adicione-a usandochmod +x
.
Exercício prático
Escreva um script que:
- Solicita o nome do usuário.
- Exibe uma mensagem de boas-vindas.
- Mostra a data e hora atuais.
Escreva um script que:
- Solicita ao usuário o nome de um arquivo.
- Cria o arquivo, se ele não existir, ou informa que o arquivo já existe.
Agora você conhece o básico de bash scripts! Falta aprender a adicionar condições e loops, mas isso já é assunto para a próxima palestra. Bora lá, rumo à automação do mundo!
GO TO FULL VERSION