O que é Positional parameter?


0

Este artigo irá explicar o que é Positional parameter e como usar Positional parameter.

Parâmetro posicional

Parâmetros posicionais

Um parâmetro posicional é um argumento especificado na linha de comando, usado para iniciar o processo atual em um shell. Os valores dos parâmetros posicionais são armazenados em um conjunto especial de variáveis ​​mantidas pelo shell.

Variáveis ​​que armazenam parâmetros posicionais

Um exemplo típico de shell que usa parâmetros posicionais é o bash. Você pode usar o bash no Linux, BSD, macOS X e Windows 10.

Considere o seguinte comando bash. O nome do comando é mycommand. A linha de comando tem três parâmetros: um, dois e três quatro.

mycommand one two "three four"
Dica

Os parâmetros posicionais são delimitados por um espaço. O shell interpreta as coisas após os espaços como parâmetros individuais. Se o próprio parâmetro contiver um espaço, coloque-o entre aspas, como em “três quatro” acima.

Enquanto o mycommand está em execução, o bash fornece as seguintes variáveis ​​de shell:

Nome variável Valor
$0 meu comando
$1 1
$2 dois
$3 três quatro
$# 3
[email protected] um dois três quatro
$* um dois três quatro

A variável $0 é definida como a primeira palavra do comando – o nome do comando. Esta variável é útil porque os comandos podem ser renomeados ou executados usando um link simbólico. Alguns programas se comportam de maneira diferente dependendo do nome do comando usado para executar o programa. $0 permite que um programa veja qual nome de comando o lançou.

As variáveis ​​$1, $2 e $3 contêm os valores do primeiro, segundo e terceiro parâmetros, respectivamente. Se houvesse um quarto parâmetro, seu valor seria colocado na variável $4. Parâmetros maiores que 9 podem ser acessados ​​usando chaves ao redor do número; por exemplo, ${10} seria o décimo parâmetro e ${123} seria o 123º.

A variável $# contém o número de parâmetros posicionais, excluindo $0.

A variável [email protected] contém o valor de todos os parâmetros posicionais, exceto $0.

A variável $* é a mesma que [email protected], exceto quando estiver entre aspas. Quando colocado entre aspas duplas, $* se expande para $1c $2c $3c … onde c é o primeiro caractere de $IFS, a variável separadora de campo interno do bash. O IFS é usado para divisão de palavras e seu valor padrão é “espaço, tabulação ou nova linha” – é aqui que o bash vê o início e o fim de uma palavra.

Se o valor de $IFS for “_” (um sublinhado), “[email protected]”se expande para:

 one two three four

Enquanto “$*” se expande para:

 one_two_three four

Exemplos

Aqui estão alguns exemplos de como usar parâmetros posicionais no bash.

Usando o comando set embutido, o valor de [email protected] pode ser modificado para o shell atual. Tudo após o conjunto – é registrado como um parâmetro posicional.

set -- one two "three four"

Agora podemos iterar sobre essas variáveis ​​usando for … in:

for arg in [email protected]; do echo "$arg"; done
one
two
three four

Em bash, [email protected] é a lista padrão para iterar ao executar, portanto, este comando também funciona:

for arg; do echo "$arg"; done
one
two
three four

Iterando sobre “$*” (com aspas duplas) fornece uma string concatenada de parâmetros posicionais, unidos com o primeiro caractere de $IFS:

IFS=","; for arg in "$*"; do echo "$arg"; done
one,two,three four

Para obter mais informações, consulte a documentação do shell de comando bash.


Like it? Share with your friends!

0
Rubem Rego

0 Comments

Your email address will not be published. Required fields are marked *