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 $! .
- $? Status de saída
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).
Próxima aula, clique aqui.
COMENTÁRIOS