Nos Shells Unix (como Bash, Zsh, etc.), os parâmetros posicionais são variáveis especiais que armazenam os argumentos passados para um script ou função. Eles são numerados, a partir de 1.
* `$ 1`:mantém o primeiro argumento.
* `$ 2`:mantém o segundo argumento.
* `$ 3`:mantém o terceiro argumento e assim por diante.
`$ 0` é um caso especial:mantém o nome do próprio script ou função.
Exemplo: Digamos que você tenha um script chamado `my_script.sh` com o seguinte conteúdo:
`` `BASH
#!/bin/bash
eco "o nome do script é:$ 0"
eco "O primeiro argumento é:$ 1"
eco "O segundo argumento é:$ 2"
`` `
Se você executar assim:
`` `BASH
./my_script.sh Hello World
`` `
A saída seria:
`` `
O nome do script é:./my_script.sh
O primeiro argumento é:Olá
O segundo argumento é:mundo
`` `
Considerações importantes: *
Número de argumentos: Você pode acessar argumentos até o número fornecido. Tentar acessar `$ 4` quando apenas três argumentos foram fornecidos resultará em uma string vazia ou um erro, dependendo do shell e como o script é escrito.
*
citando: A citação adequada é crucial ao lidar com argumentos que contêm espaços ou caracteres especiais. Sempre cite seus parâmetros posicionais ao usá -los em comandos para evitar problemas de divisão e globo de palavras. Por exemplo:`echo" $ 1 "` é mais seguro que `echo $ 1`.
* `$@` e `$*`:essas variáveis especiais fornecem maneiras alternativas de acessar todos os parâmetros posicionais. `$@` expande para cada argumento individualmente, citado, enquanto `$*` expande para uma única sequência que contém todos os argumentos. `$@` geralmente é preferido pelo seu manuseio mais seguro de argumentos com espaços.
* `shift`:o comando` shift` remove o primeiro parâmetro posicional e muda os restantes para a esquerda. Isso é útil para processar argumentos sequencialmente.
Em essência, os parâmetros posicionais são um mecanismo fundamental para a passagem de dados para os scripts e funções do Unix Shell, permitindo flexibilidade e reutilização.