User Tools

Site Tools


wiki:linux:comandos_grupos:cmd_scripts

Nível Básico

1. Criação de Scripts Simples

  • echo - Exibe uma mensagem no terminal.
    1. Exemplo de uso:
      echo "Olá, mundo!"
    2. Descrição: Exibe a mensagem Olá, mundo! no terminal, um exemplo clássico de saída em programação.
  • shebang (`#!/bin/bash`) - Define o interpretador de comandos para um script.
    1. Exemplo de uso:
    #!/bin/bash
    echo "Este é um script básico"
 
  1. Descrição: A primeira linha de um script Bash geralmente é um shebang, que indica qual interpretador de comandos deve ser usado para executar o script. Nesse exemplo, o comando echo será executado.

2. Executando Scripts Simples

  • chmod +x - Torna um script executável.
    1. Exemplo de uso:
      chmod +x meu_script.sh
    2. Descrição: Dá permissão de execução ao script meu_script.sh, permitindo que ele seja executado diretamente.
  • ./meu_script.sh - Executa um script no diretório atual.
    1. Exemplo de uso:
      ./meu_script.sh
    2. Descrição: Executa o script meu_script.sh no diretório atual, mostrando a saída no terminal.

3. Variáveis Simples no Script

  • variáveis - Definição e uso de variáveis simples.
    1. Exemplo de uso:
    #!/bin/bash
    nome="João"
    echo "Olá, $nome"
 
  1. Descrição: Este script define uma variável chamada nome e a utiliza na linha de comando para exibir a mensagem Olá, João.

Nível Intermediário

1. Estruturas Condicionais em Scripts

  • if - Estrutura condicional básica.
    1. Exemplo de uso:
    #!/bin/bash
    numero=10
    if [ $numero -gt 5 ]; then
        echo "O número é maior que 5."
    else
        echo "O número é menor ou igual a 5."
    fi
 
  1. Descrição: Este script usa uma estrutura if para verificar se o valor da variável numero é maior que 5. Dependendo do resultado, exibe a mensagem apropriada.

2. Laços de Repetição com `for`

  • for - Laço que percorre uma lista de valores.
    1. Exemplo de uso:
    #!/bin/bash
    for i in 1 2 3 4 5; do
        echo "Número: $i"
    done
 
  1. Descrição: O laço for percorre uma lista de números de 1 a 5 e exibe cada número no terminal.
  • for com arquivos - Itera sobre arquivos em um diretório.
    1. Exemplo de uso:
    #!/bin/bash
    for arquivo in *.txt; do
        echo "Processando $arquivo"
    done
 
  1. Descrição: O laço for itera sobre todos os arquivos com extensão .txt no diretório atual e exibe o nome de cada um.

3. Estrutura de Repetição com `while`

  • while - Executa um laço enquanto a condição for verdadeira.
    1. Exemplo de uso:
    #!/bin/bash
    contador=1
    while [ $contador -le 5 ]; do
        echo "Contador: $contador"
        contador=$((contador + 1))
    done
 
  1. Descrição: O laço while repete até que o valor da variável contador seja maior que 5. O valor do contador é incrementado a cada iteração.

4. Passagem de Parâmetros para Scripts

  • $1, $2, … - Acessa parâmetros passados ao script.
    1. Exemplo de uso:
    #!/bin/bash
    echo "Primeiro parâmetro: $1"
    echo "Segundo parâmetro: $2"
 
  1. Descrição: Este script exibe o valor dos parâmetros passados ao ser executado, usando $1 e $2 para acessar os primeiros dois argumentos.
  • $# - Exibe o número de parâmetros.
    1. Exemplo de uso:
    #!/bin/bash
    echo "Você forneceu $# parâmetros."
 
  1. Descrição: Este script exibe o número total de parâmetros fornecidos quando o script é executado.
  • $@ - Acessa todos os parâmetros de uma vez.
    1. Exemplo de uso:
    #!/bin/bash
    echo "Todos os parâmetros: $@"
 
  1. Descrição: Exibe todos os parâmetros fornecidos ao script de uma vez só, útil para processar uma lista de argumentos.

Nível Avançado

1. Funções em Scripts

  • Definição de função - Cria funções reutilizáveis dentro de scripts.
    1. Exemplo de uso:
    #!/bin/bash
    saudacao() {
        echo "Olá, $1!"
    }
    saudacao "João"
 
  1. Descrição: A função saudacao recebe um argumento e o utiliza dentro da função para exibir uma mensagem. Nesse caso, exibe “Olá, João!”.
  • Função com retorno de valor - Retorna códigos de status de funções.
    1. Exemplo de uso:
    #!/bin/bash
    soma() {
        resultado=$(( $1 + $2 ))
        return $resultado
    }
    soma 3 5
    echo "Resultado: $?"
 
  1. Descrição: A função soma realiza uma soma entre dois números e retorna o resultado, que pode ser acessado com a variável especial $? após a execução da função.

2. Trabalhando com Arrays em Scripts

  • Definição de array - Manipula listas de dados em um array.
    1. Exemplo de uso:
    #!/bin/bash
    frutas=("Maçã" "Banana" "Laranja")
    echo "Fruta favorita: ${frutas[1]}"
 
  1. Descrição: Este script define um array de frutas e exibe a segunda fruta da lista, “Banana”, usando o índice do array.
  • Iteração sobre arrays - Usa um laço para percorrer arrays.
    1. Exemplo de uso:
    #!/bin/bash
    frutas=("Maçã" "Banana" "Laranja")
    for fruta in "${frutas[@]}"; do
        echo "Fruta: $fruta"
    done
 
  1. Descrição: O laço percorre o array de frutas e exibe cada item, útil para trabalhar com listas de dados em scripts.

3. Manipulação de Arquivos em Scripts

  • Redirecionamento de entrada e saída - Manipula arquivos com redirecionamento.
    1. Exemplo de uso:
    #!/bin/bash
    echo "Texto para arquivo" > arquivo.txt
    cat < arquivo.txt
 
  1. Descrição: O script redireciona a saída do comando echo para um arquivo usando >, e depois lê o conteúdo do arquivo com cat usando redirecionamento de entrada.
  • Leitura de arquivos linha por linha - Processa arquivos em um loop.
    1. Exemplo de uso:
    #!/bin/bash
    while IFS= read -r linha; do
        echo "Linha: $linha"
    done < arquivo.txt
 
  1. Descrição: Este script lê o arquivo arquivo.txt linha por linha e exibe cada uma no terminal, usando um loop while e redirecionamento de entrada.

4. Operadores Avançados

  • Operadores lógicos - Usa operadores avançados em condições.
    1. Exemplo de uso:
    #!/bin/bash
    a=10
    b=20
    if [[ $a -lt 15 && $b -gt 15 ]]; then
        echo "Ambas as condições são verdadeiras."
    fi
 
  1. Descrição: Usa o operador lógico && para combinar duas condições. O script verifica se a é menor que 15 e b é maior que 15, e só executa a ação se ambas as condições forem verdadeiras.
  • Operadores aritméticos - Realiza operações matemáticas.
    1. Exemplo de uso:
    #!/bin/bash
    num1=10
    num2=5
    echo "Soma: $((num1 + num2))"
    echo "Multiplicação: $((num1 * num2))"
 
  1. Descrição: O script realiza operações aritméticas, como soma e multiplicação, usando a sintaxe $1) para calcular o valor das expressões.

Nível Especializado

1. Controle de Fluxo Avançado com `case`

  • case - Estrutura condicional para múltiplos casos.
    1. Exemplo de uso:
    #!/bin/bash
    opcao="b"
    case $opcao in
        a) echo "Opção A selecionada";;
        b) echo "Opção B selecionada";;
        c) echo "Opção C selecionada";;
        *) echo "Opção inválida";;
    esac
 
  1. Descrição: O comando case permite selecionar uma ação com base no valor de uma variável, oferecendo uma estrutura mais limpa que múltiplos if para lidar com várias opções.

2. Controle de Execução com `trap`

  • trap - Captura sinais e executa comandos ao receber um sinal.
    1. Exemplo de uso:
    #!/bin/bash
    trap "echo 'Ctrl+C foi pressionado! Saindo...'; exit" SIGINT
    while true; do
        echo "Pressione Ctrl+C para sair..."
        sleep 1
    done
 
  1. Descrição: O comando trap captura o sinal SIGINT (gerado ao pressionar Ctrl+C) e executa um comando personalizado antes de encerrar o script.

3. Automação com `cron` e Scripts Bash

  • Agendamento de scripts - Usa o cron para executar scripts periodicamente.
    1. Exemplo de uso:
    crontab -e
    # Adicione a seguinte linha para executar o script todos os dias às 3h da manhã:
    0 3 * * * /caminho/para/meu_script.sh
 
  1. Descrição: O cron é uma ferramenta de automação que permite agendar a execução de scripts em intervalos regulares. Nesse exemplo, o script será executado diariamente às 3h da manhã.

4. Processamento de Arquivos com `awk`

  • awk - Ferramenta poderosa para processamento de texto.
    1. Exemplo de uso:
    #!/bin/bash
    awk '{print $1, $3}' arquivo.txt
 
  1. Descrição: Este script usa o awk para processar o arquivo arquivo.txt e exibe a primeira e a terceira coluna de cada linha, útil para manipular dados estruturados em arquivos de texto.

5. Paralelização de Tarefas com `xargs`

  • xargs - Executa comandos em paralelo a partir de uma lista.
    1. Exemplo de uso:
    #!/bin/bash
    cat lista_arquivos.txt | xargs -n 1 -P 4 cp {} /destino/
 
  1. Descrição: O comando xargs lê uma lista de arquivos de lista_arquivos.txt e executa o comando cp em até 4 processos paralelos (-P 4), copiando os arquivos para o diretório /destino/.

6. Funções Avançadas com Parâmetros Opcionais

  • Funções com parâmetros e valores padrão - Define valores padrão em funções.
    1. Exemplo de uso:
    #!/bin/bash
    saudacao() {
        nome=${1:-"Visitante"}
        echo "Olá, $nome!"
    }
    saudacao "João"
    saudacao
 
  1. Descrição: Esta função define um valor padrão para o parâmetro nome. Se nenhum argumento for passado ao chamar a função, ela exibirá “Olá, Visitante!”.

7. Monitoramento e Alerta com `mail`

  • mail - Envia alertas de script por email.
    1. Exemplo de uso:
    #!/bin/bash
    if [ ! -f /var/log/arquivo.log ]; then
        echo "Arquivo de log não encontrado!" | mail -s "Alerta: Falha no script" usuario@dominio.com
    fi
 
  1. Descrição: Se o arquivo de log não for encontrado, o script envia um alerta por email usando o comando mail, com o assunto “Alerta: Falha no script”.
1)
wiki/linux/comandos_grupos/cmd_scripts.txt · Last modified: by Wiki Administrator