Estou tentando gerar a data e a hora, em um fuso horário diferente, em um script de shell bash. Seguindo essa pergunta , fiz isso:
#!/usr/bin/env bash
IL=":Asia/Jerusalem" date "+%a %b %d %R"
echo "Israel: $IL"
que emite isso:
Wed Jun 19 15:12
Israel:
Não apenas a hora está incorreta para esse fuso horário, mas a saída é exibida incorretamente em duas linhas.
Eu gostaria que ele produzisse isso:
Israel: Wed Jun 19 23:12
Em outros scripts, onde o fuso horário padrão é bom (por exemplo, no meu .xinitrc
para exibir a hora atual do sistema), fiz:
date_str="$(date +"%a %b %d %R")";
topbar="Time: $date_str";
xsetroot -name "$top_bar";
O que estou fazendo de errado desta vez?
Você deixou de fora a
TZ=
parte que atribuirá o fuso horário àTZ
variável de ambiente para odate
comando:A pergunta que você vinculou tem uma explicação muito detalhada sobre isso.
Para atribuir essa saída a uma variável, você precisa usar a substituição de comando :