Aula 7.17: Tipos de Parâmetros em shell

Aula 7.17 – Como usar parâmetros terminal Linux

     

Este artigo faz parte do projeto #LTCode

Parâmetros especiais permitem que se acesse valores pertinentes aos argumentos em linha de comando e a execução de programas. Para acessar um parâmetro especial, basta preceder o símbolo de $ antes do caractere especial. Esses parâmetros especiais não se pode alterar.

  • $$ Identificador do processo atual

A shell armazena no parâmetro especial $$, o identificador do processo (PID) do programa em execução.

  • $! Identificador do último processo no plano de fundo

A shell armazena o identificador do último processo que executou no plano de fundo (background) no parâmetro especial $! .

Quando um processo termina sua execução por qualquer motivo, ele retorna um status de saída (código de retorno ou condição de saída) para o processo pai (aquele que executou o programa). O parâmetro especial $? armazena o status de saída do último comando executado. O status zero indica uma execução com sucesso enquanto que o status diferente de zero indica uma execução sem sucesso. Pode-se especificar o status de saída usando o comando interno exit,

seguido de um número que indica o código de retorno.

  • $RANDOM Gerador de números aleatórios

Toda vez que se usa essa variável, a shell a expande para um valor inteiro entre 0 e 32767. Pode ser usado em operações aritméticas.

Parâmetros posicionais incluem o nome do comando e os argumentos de linha de comando, em um shell script, se referencia eles através de suas posições na linha de comando. São parâmetros posicionais:

  • $# número de parâmetros na linha de comando

O parâmetro $# armazena o número de argumentos na linha de comando, sem incluir o próprio comando.

  • $0 nome do programa chamado

A shell armazena o nome do comando utilizado para chamar o programa no parâmetro $0 . Esse parâmetro é nomeado zero porque aparece antes do primeiro argumento da linha de comando. Pode-se usar o comando $(basename $0) para extrair apenas o nome do comando.

  • $1 até $n: argumentos em linha de comando

O primeiro argumento da linha de comando é representado pelo parâmetro $1, o segundo argumento por $2 e assim por diante. Para valores maiores que 9, deve-se colocar o número envolvido em chaves (ex.: ${12} é o décimo segundo argumento).

  • $* e $@: representam todos os argumentos

Os parâmetros $* e $@ representam todos os argumentos em linha de comando. Os parâmetros $* e $@ funcionam da mesma forma, a não ser quando envoltos em aspas duplas; $* resulta em um único argumento (separados por espaço ou primeiro caractere de $IFS), enquanto $@ produz uma lista onde cada parâmetro posicional é um argumento

O comando interno shift promove cada argumento; o primeiro é descartado, o segundo (que era $2) se torna o primeiro (agora $1), o terceiro se torna o segundo e assim por diante. Como não existe o comando unshift, não se pode recuperar argumentos que foram descartados. O comando shift pode ser usado com um argumento que especifica quantos parâmetros deslocar (padrão: 1).

O comando set inicializa argumentos em linha de comando. Quando o comando interno set é chamado com um ou mais argumentos, ele associa os valores aos parâmetros posicionais (começando em $1).




Source link