[Ubuntu-BR] variaveis dentro de `blabla $var`
Xisberto
xisberto em gmail.com
Sexta Outubro 3 16:01:19 UTC 2008
2008/10/3 hamacker <sirhamacker em gmail.com>
> Uma pequena rotina para converter unixtime para o formato de data
> humano, provoca um erro, porque a variavel dentro do `` não consegue
> ser interpretada.
>
> PARAM1="1223046604.116"
> TESTE_DATA=`date +%d-%m-%Y+%H:%M -d '1970-01-01 $PARAM1 sec'`
> echo $TESTE_DATA
>
> se eu executar date +%d-%m-%Y+%H:%M -d '1970-01-01 1223046604.116 sec'
> diretamente no terminal, funciona sem problemas, já se eu executar no
> script transformando o unixtime em variavel ($PARAM1) aí não funciona.
>
> Onde é que estou errando ?
Hamacker, o primeiro erro seu que eu acuso é usar a lista do ubuntu para uma
dúvida que não é de ubuntu, e sim de shell, enquanto temos uma ótima lista
de shell no Brasil: a lista "shell-script" no yahoo (com hífen no nome, a
sem hífen é fake).
Mas respondendo à sua dúvida, o que você errou foi ao usar as aspas simples
para passar o parâmetro -d pro date. As aspas simples matam qualquer
caractere especial no shell, então o $PARAM1 deixa de significar a variável
que você criou e passa a ser a string $PARAM1.
Use aspas duplas, que elas não matam o $ das variáveis:
Em vez de
TESTE_DATA=`date +%d-%m-%Y+%H:%M -d '1970-01-01 $PARAM1 sec'`
use:
TESTE_DATA=`date +%d-%m-%Y+%H:%M -d "1970-01-01 $PARAM1 sec"`
>
>
> []'s a todos.
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
--
Humberto Xis
http://xisberto.blogspot.com
http://ostelematicos.blogspot.com
"Sur la tuta tero estis unu lingvo kaj unu parlomaniero." - Gn 11,1
More information about the ubuntu-br
mailing list