Pular para o conteúdo principal

Capítulo 6.1 - Introdução ao Scripting Shell

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Entender o que é um script shell
  • Criar seu primeiro script Bash
  • Compreender o shebang
  • Tornar um script executável
  • Utilizar variáveis básicas

O que é um Script Shell?​

Um script shell é um arquivo contendo uma série de comandos shell que são executados sequencialmente. É uma maneira poderosa de automatizar tarefas.

Vantagens:

  • Automação de tarefas repetitivas
  • Combinação de comandos complexos
  • Reutilização
  • Agendamento com cron

Primeiro Script​

Criar um Script​

#!/bin/bash
# Meu primeiro script
echo "Olá Linux!"
echo "Data: $(date)"
echo "Usuário: $(whoami)"

Etapas:

  1. Criar o arquivo: nano meu_script.sh
  2. Adicionar o conteúdo acima
  3. Tornar executável: chmod +x meu_script.sh
  4. Executar: ./meu_script.sh

Shebang​

A primeira linha #!/bin/bash é o shebang:

  • Indica qual interpretador usar
  • Necessário para execução direta
  • Alternativas: #!/bin/sh, #!/usr/bin/env bash

Variáveis​

Declaração​

#!/bin/bash
# Variáveis simples
NOME="Linux"
VERSAO=6.1
ATIVO=true

# Uso
echo "Nome: $NOME"
echo "Versão: $VERSAO"
echo "Ativo: $ATIVO"

Regras:

  • Sem espaços ao redor do =
  • Aspas para strings com espaços
  • $ para usar a variável

Variáveis de Ambiente​

#!/bin/bash
# Variáveis do sistema
echo "Home: $HOME"
echo "User: $USER"
echo "Path: $PATH"
echo "PWD: $PWD"

Variáveis Especiais​

#!/bin/bash
echo "Nome do script: $0"
echo "Primeiro argumento: $1"
echo "Segundo argumento: $2"
echo "Número de argumentos: $#"
echo "Todos os argumentos: $@"
echo "Código de retorno: $?"

Leitura de Entrada​

read​

#!/bin/bash
# Ler uma entrada
echo "Digite seu nome:"
read NOME
echo "Olá $NOME!"

# Com prompt integrado
read -p "Digite sua idade: " IDADE
echo "Você tem $IDADE anos"

# Leitura silenciosa (senha)
read -s -p "Senha: " SENHA
echo

Comentários​

#!/bin/bash
# Comentário em uma linha

# Comentário
# em várias linhas

# Comentário ao final da linha
COMANDO # Explicação

Exemplo Completo​

#!/bin/bash
# Script de exemplo
# Autor: Seu nome
# Data: $(date +%Y-%m-%d)

# Variáveis
NOME_SCRIPT="meu_script.sh"
VERSAO="1.0"

# Função principal
main() {
echo "=== $NOME_SCRIPT v$VERSAO ==="
echo "Data: $(date)"
echo "Usuário: $USER"
echo "Diretório: $PWD"
echo "Argumentos: $#"

if [ $# -gt 0 ]; then
echo "Primeiro argumento: $1"
fi
}

# Execução
main "$@"

Execução​

Métodos​

# 1. Execução direta (requer shebang e chmod +x)
./meu_script.sh

# 2. Com bash explícito
bash meu_script.sh

# 3. Com sh
sh meu_script.sh

# 4. Source (executa no shell atual)
source meu_script.sh
. meu_script.sh # Atalho

Boas Práticas​

Estrutura​

#!/bin/bash
# 1. Shebang
# 2. Comentários de cabeçalho
# 3. Variáveis globais
# 4. Funções
# 5. Código principal

Opções Úteis​

#!/bin/bash
set -e # Parar em caso de erro
set -u # Erro se variável não definida
set -o pipefail # Erro em pipeline

# Ou combinar
set -euo pipefail

Resumo​

Neste capítulo, você aprendeu:

Script shell: Arquivo de comandos executáveis
Shebang: #!/bin/bash para indicar o interpretador
Variáveis: Declaração e uso com $
Leitura: read para entrada do usuário
Execução: ./script.sh, bash script.sh, source script.sh
Boas práticas: Estrutura, set -e, comentários


Próximos Passos​

Capítulo 6.2: Variáveis e Parâmetros
Capítulo 6.3: Estruturas de Controle


Capítulo criado em: Dezembro 2024