CodeGym /Cursos /Docker SELF /Introdução a bash scripts: sintaxe, variáveis, comandos

Introdução a bash scripts: sintaxe, variáveis, comandos

Docker SELF
Nível 3 , Lição 3
Disponível

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?

  1. Cria o arquivo:

    nano hello_world.sh
    
  2. Adiciona essas linhas:

    #!/bin/bash
    echo "Olá, mundo!"
  3. Deixa o arquivo executável:

    chmod +x hello_world.sh
    
  4. 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.

  1. Crie o arquivo:

    nano file_checker.sh
    
  2. 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
  3. Marque o arquivo como executável e execute:

    chmod +x file_checker.sh
    ./file_checker.sh
    
  4. 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:

  1. Shebang ausente.
    Sem a linha #!/bin/bash seu script pode tentar rodar em outro interpretador, o que levará a erros.

  2. 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 usando set -u no início do script.

  3. Espaços ao redor de =.
    Nunca escreva assim: VARIABLE = "value". Isso vai causar um erro.

  4. Problemas de permissões.
    Se o script não tiver permissão de execução, adicione-a usando chmod +x.

Exercício prático

  1. Escreva um script que:

    • Solicita o nome do usuário.
    • Exibe uma mensagem de boas-vindas.
    • Mostra a data e hora atuais.
  2. 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!

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION