Bashシェルスクリプトから別のタイムゾーンの日付と時刻を出力しようとしています。次のようなこの問題、私はこれをした:
#!/usr/bin/env bash
IL=":Asia/Jerusalem" date "+%a %b %d %R"
echo "Israel: $IL"
出力は次のとおりです。
Wed Jun 19 15:12
Israel:
そのタイムゾーンの時間が正しくないだけでなく、出力が2行に間違って表示されます。
次のように出力したいと思います。
Israel: Wed Jun 19 23:12
他のスクリプトでは、デフォルトのタイムゾーンは問題ありません(たとえば、現在のシステム時刻をmyに.xinitrc
表示します)。私は次のことをしました。
date_str="$(date +"%a %b %d %R")";
topbar="Time: $date_str";
xsetroot -name "$top_bar";
今回は私が何を間違っているのだろうか?
答え1
コマンドの環境変数TZ=
にタイムゾーンを割り当てる部分がありません。TZ
date
TZ='Asia/Jerusalem' date '+%a %b %d %R'
あなたがリンクした質問には、これについての非常に詳細な説明があります。
この出力を変数に割り当てるには、次のものを使用する必要があります。コマンドの置き換え:
IL=$(TZ='Asia/Jerusalem' date '+%a %b %d %R')