Shell Script
1. Argumentos:
Shell scripts podem receber argumentos na linha de comando. Esses argumentos são acessados usando $1, $2, $3, ..., $9, ${10}, ${11}, etc. $0 representa o nome do script.
Variáveis Especiais de Argumentos:
$0: Nome do script.$1,$2, ...: Primeiro, segundo, terceiro argumento, e assim por diante.${10},${11}, ...: Argumentos além do nono (devem ser acessados com chaves{ }).$@: Todos os argumentos como itens separados (preserva espaços e aspas).$*: Todos os argumentos como uma única string.$#: Número total de argumentos fornecidos.
Exemplos:
#!/bin/bash
echo "Nome do script: $0"
echo "Primeiro argumento: $1"
echo "Segundo argumento: $2"
echo "Todos os argumentos: $@"
echo "Todos os argumentos: $*"
echo "Número de argumentos: $#"
# Exemplo com mais de 9 argumentos
echo "Décimo argumento: ${10}"Execução e Saída:
Argumento será: lista de compras arroz feijao leite macarrao carne ovos "azeite e creme de leite" fim
2. Condicionais (if, elif, else):
if, elif, else):A estrutura condicional if permite executar blocos de código com base em uma condição.
Estrutura Básica:
Exemplo: Verificar Idade
Operadores Relacionais:
-eq: Igual.-ne: Diferente.-gt: Maior que.-lt: Menor que.-ge: Maior ou igual que.-le: Menor ou igual que.
Testando se um argumento foi fornecido:
Para verificar se um argumento foi fornecido, use -z (string vazia) ou -n (string não vazia):
Ou
3. Loops (for):
for):Estrutura Básica do for Loop:
for Loop:Imagine que você tem uma lista de compras com vários itens, como "Arroz", "Feijão", "Leite" e "Pão". Você vai ao supermercado e pega um item da lista por vez, riscando cada um após colocá-lo no carrinho. Quando todos os itens da lista estão riscados, suas compras estão completas!
A lista:
Vamos passar no argumento a lista e vamos imprimir cada um dos itens. Já sabemos como pegar todos argumento, utilizando $@
Iteração 1:
item = "arroz".Executa:
echo "Pegando arroz no supermercado.".
Iteração 2:
item = "feijao".Executa:
echo "Pegando feijao no supermercado.".
Iteração 3:
item = "leite".Executa:
echo "Pegando leite no supermercado.".
Fim:
Não há mais itens. O loop termina.
Fluxograma básico:
Saída:
Iterações com Saída Visual
Input no script:
Saída esperada:
Forma Visual (Iterações):
Mais exemplo:
Explicação detalhada do for in do done:
for variável in lista: Inicia o loop. A variável (item,fruta,inos exemplos) assume o valor de cada elemento dalistaa cada iteração.do: Marca o início do bloco de código a ser executado para cada iteração.comandos: Os comandos dentro do blocodo...donesão executados para cada elemento da lista.done: Marca o fim do bloco de código do loop.
Exemplo com saída:
4. Diferença Entre $@ e $*
$@ e $*$@: Preserva cada argumento como um item separado, mesmo se contiver espaços ou aspas.$*: Trata todos os argumentos como uma única string, o que pode ser problemático para argumentos com espaços.
Exemplo Prático:
Execução e Saída:
Saída:
Last updated
Was this helpful?