[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Dúvidas com o comando shift
From: |
Ronaldo Ferreira de Lima |
Subject: |
Re: [shell-script] Dúvidas com o comando shift |
Date: |
Wed, 17 Dec 2014 18:43:33 -0200 |
User-agent: |
mutt-ng/devel-r804 (Linux) |
Saudações Ricardo,
On Wed, Dec 17, 2014 at 07:13:08PM +0000, Ricardo Tweeg address@hidden
[shell-script] wrote:
> Vejam o script abaixo:
> ***************************
> #!/bin/bash
> # Programa para testar passagem de parametros (teste03)
> echo
> echo O programa \"$0\" recebeu \"$#\" parametros:
> echo "11ª parm -> $11"
Décimo primeiro parâmetro? "$11" irá imprimir o primeiro parâmetro
concatenado com o número um.
> 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).
Os dois primeiros parâmetros que estiverem em $@.
> 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"?
No caso você já tirou um, o "passando", tirar mais dois implica em
remover o "parametros" e o "para" também, sobra apenas o "teste".
> 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.
Você passou quatro parâmetros para o script e usou três antes do último
'echo'.
> Obrigado por qualquer ajuda.
> Ricardo
[]'s
--
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
http://tecnoveneno.blogspot.com