Variaveis sem conteudo .. [RESOLVIDO]

1. Variaveis sem conteudo .. [RESOLVIDO]

Bruno
brunobbc

(usa Ubuntu)

Enviado em 19/04/2012 - 16:37h

Estou com uma duvida basica.

Inicializo a variavael com o seguinte conteudo:


$param4='Test\ linux'
$echo $param4
Test\ linux
$script $param1


Script que rodo

if [ $# -lt 1 ]
then
echo "\n***** Numero de parametro insuficientes *****"
echo "Parametro 1 = |$1|"
exit 1
else
from=$1
fi

echo $1


------- RESULTADO -------
Test\

Nao sei pq o espaco nao é considerado.

Sera que algue pode me ajudar? Desculpem pela duvida trivial ...

Muito obrigado pela atencao de todos,
Bruno


  


2. Re: Variaveis sem conteudo .. [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 20/04/2012 - 00:07h

aspas duplas


coloque sempre aspas duplas a não se quando quiser que o espaço seja considerado...

from="$1"


3. Re: Variaveis sem conteudo .. [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 20/04/2012 - 00:53h

rai3mb escreveu:

aspas duplas


coloque sempre aspas duplas a não se quando quiser que o espaço seja considerado...

from="$1"


Apanhei tanto por não usar aspas duplas no princípio que até quando não é necessário... eu uso :)
Além de aspas duplas, em certas variáveis e principalmente de parâmetros passados a funções é bom inicializar a chegada com algum valor defaul, padrão. Ex:


ORIGEM=${1:-0} # Número da origens a processar.
NUM_CANAL=${2:-0} # Número do canal.
MSG_ON=${3:-"0"} # 1 = Ativa as mensagens de apoio.
LOG_EXTENDIDO=${4:-0} # Se não for informado vai assumir ZERO (0)
TIME_FILA=${5:-"5.0"} # Tempo do Loop da tarefa de fila.
LOG_TMP=${6:-"0"} # 1 = ATIVA log shell. 0 = desativa.
REG_TRB=${7:-"1"} # Força registro no arq. LOCK de trabalho.
M_DELAY=${8:-"0.5"} # Micro paradas. Veja também a função.
M_REFRESH=${9:-"1.1"} # Conferência do REFRESH da gravação de LOCK


Desta forma você evita surpresas para o caso de variáveis rebeldes. Não resolve o problema, mas você pelo menos tem certeza de alguns testes que pode fazer porque no mínimo o default está garantido.





4. Re: Variaveis sem conteudo .. [RESOLVIDO]

Bruno
brunobbc

(usa Ubuntu)

Enviado em 20/04/2012 - 09:23h

Para falar verdade preciso muito o conteudo da variavel seja considerado.
Ja tentei de muitas formas e ainda nao consegui !!

Em passant, com aspas duplas nao funcionou.


5. Re: Variaveis sem conteudo .. [RESOLVIDO]

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 20/04/2012 - 10:27h

Por que não tenta aprender a debugar o seu script?

faz assim:

bash -x scritp.sh

Assim vc identifica o erro.


6. Re: Variaveis sem conteudo .. [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 20/04/2012 - 10:28h


if [ $# -lt 1 ]
then
echo "\n***** Numero de parametro insuficientes *****"
echo "Parametro 1 = |$1|"
exit 1
else
from="$1"
fi
# - teste:


./teste.sh 'Test\ Linux'
Test\ Linux
./teste.sh Test\ Linux
Test Linux





Funciona que é uma beleza, pra vc não funcionou ??????


7. Re: Variaveis sem conteudo .. [RESOLVIDO]

Bruno
brunobbc

(usa Ubuntu)

Enviado em 20/04/2012 - 11:36h

Lamentavelmente, estou usando um emulador Win SUA.
Entao alguns comandos nao funcionam.

Bash -x <script> nao, aspas duplas tb nao ..

Isso que é ruim!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts