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

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

Re: [shell-script] Duvida teste variavel


From: Julio C. Neves
Subject: Re: [shell-script] Duvida teste variavel
Date: Wed, 20 May 2009 13:38:25 -0300

Fala Marcus,
o problema dos canivetes suíços, é a falta do contexto para vc entender. O
que o Aurélio escreveu está perfeito. Experimente testar o código abaixo que
vc entenderá:

*read -p "Informe Login Name: ($LOGNAME) " LogN
LogN={LogN:-$LOGNAME)
echo $LogN*

O trecho acima, pede o login de uma máquina remota e oferece como padrão
(default) o valor entre parênteses, que é o conteúdo da variável $LOGNAME,
que é o seu login na máquina local e, por isso, tem grande chance de tb o
ser na maq. remota.

Se vc aceitou o default, isto é, deu somente um <ENTER>, $LogN receberá o
conteúdo de $LOGNAME. Se vc teclar qq login, $LogN manterá o valor teclado.

Para saber se $var tem valor vc deve fazer:

1 -
*if [ "$var" ]
then
    echo Tem valor
else
    echo ñ tem
fi*

2 -
*if [ -z "$var" ]
then
    echo **ñ tem**
else
    echo **Tem valor**
fi*

3-
*if [ ${var:-x} = x ]
then**
    echo **ñ tem**
else
    echo **Tem valor****
fi*

Um link sobre substituição de
parâmetros<http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo009#Expans_o_de_par_metros>e
outro sobre cmds condicionais, que começa
aqui<http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo003#Comandos_Condicionais>e
termina
aqui <http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo004>. Vale a pena
perder 30 minutos, aprender um monte de coisas e entender isso legal. Está
tudo em português e cheio de exemplos (é a série Papo de Botequim que foi
publicada a partir do primeiro fascículo da Linux Magazine).
-- 
Abraços,
Julio
*Cursos de Shell e Zenity?
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ darei um treinamento em 23/06 (p/ detalhes ligue (21) 2561-0867);
- Turmas fechadas em outras cidades ligue (21) 8112-9988
*
2009/5/20 Marcus Gmail <address@hidden>

>
>
> Boa Tarde!
>
> Queria fazer um teste para saber se uma variavel contem valor ou nao.
> Caso nao contenha o programa encerra e manda uma mensagem para a tela.
> Encontrei no aurelio.net algo que, em tese, sanaria meu problema. Segue
> a explicacao.
> 1 - Olha que o diz no site do aurelio.net (canivete de bolso)
> |
> ${var:=texto}| --> Se var não está definida, retorna o erro 'texto'
>
> O teste que eu fiz
>
> cat lala.sh
> #!/bin/bash
> #teste
> crmail=$1
> crsenha=$2
> crquota=$3
> ${crmail:?teste}
>
> #./lala.sh
> ./lala.sh: line 5: crmail: teste
>
> #./lala.sh 1 2 3
> ./lala.sh: line 5: 1: command not found
>
> Alguem sabe como testar o conteudo da variavel, algo como o [ -f ] do
> arquivo.
>
> Abs, fique com Deus!
>
>  
>


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



reply via email to

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