Acessando mais que 9 parâmetros em shell script

Publicado por Leandro Santiago em 14/02/2007

[ Hits: 12.554 ]

Blog: http://leandrosan.wordpress.com

 


Acessando mais que 9 parâmetros em shell script



$ mostra_parametros um dois três quatro cinco seis sete oito nove dez onze
um dois três quatro cinco seis sete oito nove um0 um1

Quem nunca passou por esse aperto, quando trabalha com shell script?

Há uma "pseudo-limitação", quando tratamos parâmetros em shell script, que é: "podemos somente usar somente 9 parâmetros nos nossos programinhas".

Isso está certo? Não exatamente. O erro está no modo com que tratamos as variáveis: $1, $2, $3 , ...

Há várias maneiras de contornarmos este problema. Uma delas é o uso do comando shift, que não abordarei aqui. Outra, mais eficiente, é o uso das variáveis da seguinte forma: ${1}, ${2}, .... , ${9} , ${10} , ${11}, ...

Sem mais explicações.

Notas:
  • Esse truque é garantido no bash, ksh.
  • Outros interpretadores de comando não tem essa limitação, como o tcsh, zsh, ash. Portanto, use as variáveis da maneira tradicional.
  • Funciona também com ${#}, ${*}, ${0} e ${@}, no bash.
  • Você pode usar estes truques também com argumentos de funções.

Referência:
Leitura recomendada para os estudantes de shell:
Links:
Pois é... "inté" a próxima pessoal :)

Outras dicas deste autor

Desligando o seu computador com o dedão do pé

Exibindo vídeos na sua área de trabalho com o Xine

Editando documentos em formato PDF com o Koffice

Criando um pacote com o kernel compilado para o Slackware

Criando um planeta só seu.. no GIMP

Leitura recomendada

Aulas Shell Script do zero - Parte 1

Renomear arquivos ou diretórios iniciados por "-"

Comando "sed" com parâmetro que aceita barra " / "

Venha Conhecer o Yad

Criando item no menu do GNU/Linux com terminal executando comandos/scripts/aplicações

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts