Em Qua 11 Jul 2007, João Augusto escreveu:
Olá João Augusto

Para comparar cadeias de caracteres o operador -eq
não pode ser usado. Pois ele fornece o seguinte erro 
[: 16: ELF: bad number
[: 16: ELF: bad number
[: 16: ELF: bad number
[: 16: Bourne: bad number
[: 16: ELF: bad number
[: 16: empty: bad number

Bom a forma correta é aquela que o mop disse:
if [ "${tipo}" = Bourne ] ou assim  if [ ${tipo} = "Bourne" ]

o importante foi o espaço entre o operador e as cadeias de caracteres.

Uma solução mais inteligente para o problema foi  apresenta pelo Tiago
entretanto ela não funcionou como eu relatei. Mas aprendi muito e usei
um pouco das formas ali mostradas.

Obrigado pela atenção

Salviano

> Poderia ter feito assim
>
> if [ ${tipo} -eq Bourne ]
>
> Clássico!
>
> []'s
>
> Em 10/07/07, Salviano A. Leão <[EMAIL PROTECTED]> escreveu:
> >   Em Ter 10 Jul 2007, mop escreveu:
> > Olá mop
> >
> > Bom com com a separacao
> >
> > No caso em que uso: if [ "$tipo" == Bourne ]
> > obtenho o seguite erro
> > [: 16: ==: unexpected operator
> >
> > No caso em que uso : if [ "$tipo" == "Bourne" ]
> > obtenho o mesmo erro
> > [: 16: ==: unexpected operator
> >
> > Descobri que o correto eh: if [ "$tipo" = "Bourne" ]
> >
> > Valeu, obrigado.
> >
> > > Olhei por alto, o único problema que notei é que você emendou tudo
> > > colocando um única string no if. Você fez isto:
> > > [ "$tipo"=="Bourne" ]
> > >
> > > Quando deveria ter feito isto:
> > > if [ "$tipo" == "Bourne" ]
> > >
> > > Repare que tem de existir: string1 espaco comparador espaço string2.
> > >
> > > Recomendo que acima do seu if escreva simplesmente>
> > > echo =================== if [ "$tipo" == "Bourne" ]
> > >
> > > E veja o que será escrito na execução. Sua comparação é muito
> > > limitada e somente deverá pegar um tipo de shell.
> > >
> > >
> > > ----------------------------------------------------------
> > >
> > > >From: "Salviano A. =?utf-8?q?Le=C3=A3o?=" <>
> > > >Date: Tue, 10 Jul 2007 22:52:37 -0300
> > > >
> > > >Em Ter 10 Jul 2007, mop escreveu:
> > > >> if [ "$tipo" = Bourne ]
> > > >
> > > >Tentei, entretanto, ele problema persiste. É como
> > > >se não houvesse o if
> > >
> > > ----------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > > como perl, C etc. Quem insistir em não seguir esta regra será moderado
> > > sem prévio aviso.
> > > ---------------------------------------------------------- Sair
> > > da lista:
> > > [EMAIL PROTECTED]<shell-script-unsubscribe%40
> > >yahoogrupos.com.br>
> > > ----------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > >
> > > Links do Yahoo! Grupos


Responder a