我正在尝试在 bash shell 脚本中输出不同时区的日期和时间。下列的这个问题,我这样做了:
#!/usr/bin/env bash
IL=":Asia/Jerusalem" date "+%a %b %d %R"
echo "Israel: $IL"
输出如下:
Wed Jun 19 15:12
Israel:
不仅该时区的时间不正确,而且输出也错误地显示在两行中。
我希望它输出这样的内容:
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')