[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] variaveis
From: |
opa |
Subject: |
Re: [shell-script] variaveis |
Date: |
Wed, 14 Apr 2004 11:24:58 -0300 hrN |
Como já colocado, uma aplicação seria delimitar o nome da variável:
z=33
echo $z1
echo ${z}1
331
Mas isso pode ser feito assim:
echo $z\1
331
Considero que a grande finalidade é avisar o shell que deve realizar operações
sobre a variável e não apenas substituir o seu valor.
Certa vez vi esta "listinha" em algum lugar, talvez nesta lista :), e não
deixei passar:
var=nomedir/;echo $var;echo ${var%/} # Retira a parte final da string, após %
(nomedir)
var=nome.com;echo $var;echo ${var%.com} # Idem (nome)
var=1234567890;echo ${var#1234} # retira da variável a parte inicial do valor
dado (4567890)
uga=1234567890;echo ${uga:2:5} # mostra depois da posição 2 5 caracteres (34567)
uga=1234567890;echo ${uga:4} # motra tudo depois da posição 4 (567890)
L='1234567890';echo ${L#*5} # elimina o caracter mostrado e tudo à sua esquerda
(67890)
L='1234567890';echo ${L%5*} # elimina o caracter informado e tudo à sua direita
SEP=`echo -e "\t";L="ab 12";C1=${L%%$SEP*} # exclui do 1.o $SEP até o final
SEP=" ";L="joao 10,00";C2=${L##*$SEP} # exclui do início até o último $SEP
var=c1:c2:c3:c4;echo ${var/:/ } # troca primeiro : por " " espaço
var=c1:c2:c3:c4;echo ${var//:/ } # troca todos : por " " espaço
echo ${var:-valdef} # se var for nula valor é valdef senão é valor $a
var=123456;echo ${#var} # comprimento da variável
echo ${!va*} # lista nome de todas as variáveis que começam com "va"
Usando isso nos scripts geralmente é possível dispensar o uso de "tr", "cut",
"sed", etc., quando estiver tratando variáveis e, como costumo ler :) nesta
lista, não usar canhões para abater moscas, sem falar que talvez alguns
milissegundos possam ser poupados em cada ponto desses.
Recomendo que você brinque um pouco com isso na sua linha de comando pois,
realmente vale a pena. Aliás acho que não será uma pena, será um livre e
agradável passeio. :)
----------------------------------------------------------------
>From: Felipe Bender <address@hidden>
>Date: 13 Apr 2004 14:33:59 -0300
>
>Pessoal, uma pergunta bem besta...
>
>Qual a finalidade das chaves em uma variável? tipo:
>
>$teste e ${teste}
>
>
>[]'s
>Felipe Bender
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [shell-script] variaveis,
opa <=