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

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

Re: [shell-script] Parametros posicionais


From: Alexandre Reis
Subject: Re: [shell-script] Parametros posicionais
Date: Mon, 23 Jul 2007 12:40:12 -0300

Valeu Flavio funcionou ...


Att

Alexandre Reis 


  ----- Original Message ----- 
  From: Flavio Junior 
  To: address@hidden 
  Sent: Monday, July 23, 2007 12:07 PM
  Subject: Re: [shell-script] Parametros posicionais


  Bom.. eu aconselho o uso de opções (-xyz) e o uso do getopts - Acho a melhor
  solução..

  Para fazer o que deseja com o $2, voce pode fazer TEMPLATE=${2-template} por
  exemplo..

  bender:~# echo ${2-teste}
  teste
  bender:~# echo ${0-teste}
  -bash

  Isso diz, SE não existir um valor para $2 então atribua "teste" ... Porém,
  pra isso voce precisa alterar a ordem das coisas, senão o $2 vai SEMPRE
  receber o valor que deveria ser do $3...

  Consegui me explicar ? :)

  Flavio do Carmo Junior

  On 7/23/07, Alexandre Reis <address@hidden> wrote:
  >
  > Prezados,
  >
  > Estou com a seguinte dúvida, estou escrevendo um script que vai receber
  > três parametros posicionais.
  > Mas quando o segundo parametro for omitido pelo executor do script, ele
  > devera setar um valor default, mantendo a sua posicão como $2, para que os
  > outros parametros, que não percam o seu valor posicional. Como faço isso ?
  > tentei os " || " mas nao funcionou....
  > Quando eu omito o segundo parametro que é opcional . O shell interpreta
  > que o ORACLE_HOME, fique como segundo $2
  >
  > Abaixo vou reproduzir um trecho do script
  >
  > OPER_SOFT="$1" # Modo de Operacao Openview ou Nagios
  > TEMPLATE="$2" || template # Template usado para Openview
  > ORACLE_HOME="$3" # Oracle Home
  >
  > if [ "$#" != "3" ]
  > then
  > help
  > exit $STATUS_UNKNOWN
  > fi
  > if [ "$OPER_SOFT" != "hpov" ]
  > then
  > if [ "$OPER_SOFT" != "nagios" ]
  > then
  > help
  > exit $STATUS_UNKNOWN
  > fi
  > fi
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 
  >

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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