|
From: | Julio C. Neves |
Subject: | Re: [shell-script] O que é o ! ??? |
Date: | Tue, 29 Jul 2014 21:48:32 -0300 |
Não consegui reproduzir a execução no bash:Não deveria executar o pwd então?
$ cmd=pwd
$ a=cmd
$ echo ${!a}
pwd
Abraços.Att,
Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso mudar". (Elliot Gould)2014-07-29 17:57 GMT-03:00 Alfredo Casanova address@hidden [shell-script] <address@hidden>:
Nesse caso não, Osvaldo. Dentro do ${ } ele tem função diferente:Dê uma olhada:$ var=variavel$ variavel=ola$ echo ${!var}ola
ele substitui o !var pelo conteúdo da variável $var, e executa depois, mostrando o conteúdo da variável ${variavel}
(escolhi mal o nome das variaveis para o exemplo, aparentemente ahhaha)2014-07-29 17:52 GMT-03:00 Osvaldo Filho address@hidden [shell-script] <address@hidden>:
A função do ! é negar. Ou seja, $(!i) significa se o parâmetro $i não existir ele imprime que o parâmetro não existe.2014-07-29 17:16 GMT-03:00 Alfredo Casanova address@hidden [shell-script] <address@hidden>:
e eu aqui me perdendo em dezenas de contrabarras hahahaha
valeu!2014-07-29 17:11 GMT-03:00 Flavio Steimacher address@hidden [shell-script] <address@hidden>:
Executa o conteúdo de $var (igual 'eval \$$var') Em 29 de julho de 2014 17:07, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:
Estou fazendo uns scripts pra usar como CGI, e estava tendo um problema pra usar o eval pra navegar entre os argumentos e checar se estavam completos (queria algo melhor que simplesmente checar o $# e falar que estavam faltando argumentos).então procurando na internet achei o seguinte exemplofor (( i=1; i<5; i++ ));do[ -z "${!i}" ] && { echo "argumento $i faltando"; exit 4; }done;
qual a função desse ponto de exclamação?--
[]'s
Alfredo Casanova
Linux User #228230
msn: address@hidden
tel: +55 61 9655 9619
--
Atenciosamente,
Flavio Steimacher
DBA Oracle
LPIC1 - Linux Professional Institute Certified
CLA - Novell Certified Linux Administrator
DCTS - Novell Data Center Technical Specialist
--Att,
Osvaldo Filho.Analista de Suporte (Operações de Datacenter) - Synapsis Brasil.Sócio-fundador do i-TIC Digital Livre - Informação Livre para todos!Twitter i-TIC Digital Livre: @iticdigital
TUX-CE Member.Graduado em Redes de Computadores - Centro Universitário Estácio do Ceará.
Técnico em Conectividade com Extensão em Desenvolvimento de Software - IFCE (Cefet).
Graduando em Telemática - IFCE (Cefet).Novell Datacenter Technical Specialist.
Linux Professional Institute Certified Level 1.
Novell Certified Linux Administrator (CLA).Facebook: Osvaldo Filho
Twitter: @osvaldofilho
[Prev in Thread] | Current Thread | [Next in Thread] |