wiki:linux:comandos_grupos:cmd_scripts
Table of Contents
Nível Básico
1. Criação de Scripts Simples
- echo - Exibe uma mensagem no terminal.
- Exemplo de uso:
echo "Olá, mundo!"
- 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.
- Exemplo de uso:
#!/bin/bash echo "Este é um script básico"
- 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 comandoechoserá executado.
2. Executando Scripts Simples
- chmod +x - Torna um script executável.
- Exemplo de uso:
chmod +x meu_script.sh - 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.
- Exemplo de uso:
./meu_script.sh - Descrição: Executa o script
meu_script.shno 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.
- Exemplo de uso:
#!/bin/bash nome="João" echo "Olá, $nome"
- Descrição: Este script define uma variável chamada
nomee a utiliza na linha de comando para exibir a mensagemOlá, João.
Nível Intermediário
1. Estruturas Condicionais em Scripts
- if - Estrutura condicional básica.
- 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
- Descrição: Este script usa uma estrutura
ifpara verificar se o valor da variávelnumeroé 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.
- Exemplo de uso:
#!/bin/bash for i in 1 2 3 4 5; do echo "Número: $i" done
- Descrição: O laço
forpercorre 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.
- Exemplo de uso:
#!/bin/bash for arquivo in *.txt; do echo "Processando $arquivo" done
- Descrição: O laço
foritera sobre todos os arquivos com extensão.txtno 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.
- Exemplo de uso:
#!/bin/bash contador=1 while [ $contador -le 5 ]; do echo "Contador: $contador" contador=$((contador + 1)) done
- Descrição: O laço
whilerepete até que o valor da variávelcontadorseja 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.
- Exemplo de uso:
#!/bin/bash echo "Primeiro parâmetro: $1" echo "Segundo parâmetro: $2"
- Descrição: Este script exibe o valor dos parâmetros passados ao ser executado, usando
$1e$2para acessar os primeiros dois argumentos.
- $# - Exibe o número de parâmetros.
- Exemplo de uso:
#!/bin/bash echo "Você forneceu $# parâmetros."
- 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.
- Exemplo de uso:
#!/bin/bash echo "Todos os parâmetros: $@"
- 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.
- Exemplo de uso:
#!/bin/bash saudacao() { echo "Olá, $1!" } saudacao "João"
- Descrição: A função
saudacaorecebe 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.
- Exemplo de uso:
#!/bin/bash soma() { resultado=$(( $1 + $2 )) return $resultado } soma 3 5 echo "Resultado: $?"
- Descrição: A função
somarealiza 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.
- Exemplo de uso:
#!/bin/bash frutas=("Maçã" "Banana" "Laranja") echo "Fruta favorita: ${frutas[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.
- Exemplo de uso:
#!/bin/bash frutas=("Maçã" "Banana" "Laranja") for fruta in "${frutas[@]}"; do echo "Fruta: $fruta" done
- 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.
- Exemplo de uso:
#!/bin/bash echo "Texto para arquivo" > arquivo.txt cat < arquivo.txt
- Descrição: O script redireciona a saída do comando
echopara um arquivo usando>, e depois lê o conteúdo do arquivo comcatusando redirecionamento de entrada.
- Leitura de arquivos linha por linha - Processa arquivos em um loop.
- Exemplo de uso:
#!/bin/bash while IFS= read -r linha; do echo "Linha: $linha" done < arquivo.txt
- Descrição: Este script lê o arquivo
arquivo.txtlinha por linha e exibe cada uma no terminal, usando um loopwhilee redirecionamento de entrada.
4. Operadores Avançados
- Operadores lógicos - Usa operadores avançados em condições.
- 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
- Descrição: Usa o operador lógico
&¶ combinar duas condições. O script verifica seaé menor que 15 ebé maior que 15, e só executa a ação se ambas as condições forem verdadeiras.
- Operadores aritméticos - Realiza operações matemáticas.
- Exemplo de uso:
#!/bin/bash num1=10 num2=5 echo "Soma: $((num1 + num2))" echo "Multiplicação: $((num1 * num2))"
- 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.
- 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
- Descrição: O comando
casepermite selecionar uma ação com base no valor de uma variável, oferecendo uma estrutura mais limpa que múltiplosifpara lidar com várias opções.
2. Controle de Execução com `trap`
- trap - Captura sinais e executa comandos ao receber um sinal.
- 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
- Descrição: O comando
trapcaptura o sinalSIGINT(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
cronpara executar scripts periodicamente.- 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
- 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.
- Exemplo de uso:
#!/bin/bash awk '{print $1, $3}' arquivo.txt
- Descrição: Este script usa o
awkpara processar o arquivoarquivo.txte 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.
- Exemplo de uso:
#!/bin/bash cat lista_arquivos.txt | xargs -n 1 -P 4 cp {} /destino/
- Descrição: O comando
xargslê uma lista de arquivos delista_arquivos.txte executa o comandocpem 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.
- Exemplo de uso:
#!/bin/bash saudacao() { nome=${1:-"Visitante"} echo "Olá, $nome!" } saudacao "João" saudacao
- 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.
- 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
- 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
