shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Dúvidas com o comando shift


From: Julio C. Neves
Subject: Re: [shell-script] Dúvidas com o comando shift
Date: Wed, 17 Dec 2014 20:54:26 -0200

De forma beeeem simples: no 1o. shift vc matou 'passando'. No shift 2 vc matou 'parametros para' e então só ficou com o 'teste'. E prompt ;)

Em 17/12/2014 17:13, "Ricardo Tweeg address@hidden [shell-script]" <address@hidden> escreveu:
 

Boa tarde turma.


Vejam o script abaixo:
***************************

#!/bin/bash
# Programa para testar passagem de parametros (teste03)
echo
echo O programa \"$0\" recebeu \"$#\" parametros:
echo "11ª parm -> $11"
shift
echo "2ª parm -> $1"
shift 2
echo "4ª parm -> $1"

Executei o programa e tive a seguinte saída:
********************************************************

$ ./teste03 passando parametros para testar

O programa "./teste03" recebeu "4" parametros:
11ª parm -> passando1
2ª parm -> parametros
4ª parm -> testar


Dúvida:
*********

O comando "shift 2" (o "n" pode assumir qualquer valor) despreza os "n" primeiros parâmetros.
Sendo assim, já que eu coloquei "shift 2", eu estou desprezando os dois primeiros parâmetros que passei na linha de comando (passando parametros).

Em seguida eu executo um echo "4ª parm -> $1".

Já que eu desprezei os 2 primeiros parâmetros, o echo "4ª parm -> $1" não deveria mostrar o próximo parâmetro que é a palavra "para"?
Eu não entendi o motivo dele não ter mostrado o terceiro parâmetro (para) e no seu lugar ter mostrado o "testar" que é o quarto parâmetro.

Obrigado por qualquer ajuda.

Ricardo 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]