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).