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

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

Re: [shell-script] Expansão de variáveis


From: Petterson Faria
Subject: Re: [shell-script] Expansão de variáveis
Date: Wed, 9 May 2012 12:06:39 -0300

Eu procurando? Não entendi. Não sou organizador :)

Solução final para meu problema do "Tudo - 3":

*${var:0:$(expr length $var - 3)}*

--
Atenciosamente,
*Petterson Faria*

*"A ciência nunca resolve um problema sem criar mais dez"
(George Bernard Shaw*)




2012/5/9 Julio C. Neves <address@hidden>

> Em 9 de maio de 2012 11:49, Petterson Faria
> <address@hidden>escreveu:
>
> > **
> >
> >
> > Humm, isso mesmo. Valeu Júlio!
> > Lembro que tinha esse lance do () eu até cheguei a tentar $(($var:0:3)),
> > que nem a gente faz com $((1+1)) hehehe
> > Show!
> > Muito obrigado pela explicação.
> > Estaremos no FSLDC palestrando novamente?
> >
> Como palestrante, não sei, pois vc está procurando novos valores aqui nessa
> lista ;), mas claro que estaremos lá, nem que seja como ouvinte.
>
> O FSLDC é ótimo!
>
> Abcs,
> Julio
>
> *
> *
>
>
>
> >
> > --
> > Atenciosamente,
> > *Petterson Faria*
> >
> > *"A ciência nunca resolve um problema sem criar mais dez"
> > (George Bernard Shaw*)
> >
> > 2012/5/9 Julio C. Neves <address@hidden>
> >
> > > Fala Petterson,
> > > Isso é um pouco chato de entender, mas vamulá:
> > >
> > > » Essa expansão de parâmetro só funciona com Bash 4.0 ou mais recente;
> > > » Existe uma expansão de parâmetro com sintaxe semelhante. Experimente
> > > fazer:
> > > $ read -p "Usuário ($LOGNAME): "; echo o usuário escolhido foi
> > > ${REPLY:-$LOGNAME)
> > > e entre com seu nome e depois entre com vazio, que vc entenderá sua
> > > finalidade;
> > > » Essa expansão de parâmetro que vc está usando, serve para cortar de
> trá
> > > para frente, então a origem sempre será zero e, por isso, não se deve
> > > informá-la;
> > > » Vamos ver como proceder:
> > > $ var=0123456789
> > > $ echo ${var:0:-3}
> > > bash: -3: expressão de substring < 0
> > > # ZEBRA! Isso foi gerado pelo zero da origem. Vamos tirá-lo:
> > > $ echo ${var:-3}
> > > 0123456789
> > > # ZEBRA! Isso foi pq o Bash acho que vc queria fazer
> > > #+ a outra expansão de parâmetro (a para pegar valores
> > > #+ default que te mostrei).
> > > # Então vamos ver como deve ser:
> > > $ echo ${var: -3}
> > > 789
> > > $ echo ${var:(-3)}
> > > 789
> > >
> > > Abcs,
> > > Julio
> > >
> > > *
> > > *
> > >
> > >
> > >
> > > Em 9 de maio de 2012 11:07, Petterson Faria
> > > <address@hidden>escreveu:
> > >
> > > > **
> > > >
> > > >
> > > > Bom dia.
> > > >
> > > > Testei agora o retorno de *${PWD:0:-3}* para imprimir a variável
> > *MENOS*
> > > os
> > > > 3 ultimos caracteres e não deu certo.
> > > > Estranho porque eu tenho 98% de certeza que eu usava isso em outros
> > > > scripts.
> > > >
> > > > Alguém sabe dizer porquê? Ou como seria a forma correta?
> > > >
> > > > bash --version
> > > > GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
> > > >
> > > > --
> > > > Atenciosamente,
> > > > *Petterson Faria*
> > > >
> > > > *"A ciência nunca resolve um problema sem criar mais dez"
> > > > (George Bernard Shaw*)
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > ----------------------------------------------------------
> > > 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: address@hidden
> > > ----------------------------------------------------------
> > > 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
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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: address@hidden
> ---------------------------------------------------------------------
> 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
>
>
>


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



reply via email to

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