2008/10/3 hamacker <[EMAIL PROTECTED]> > 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 -- 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

