在以前版本的 CentOS 上,我使用以下命令在 bash 脚本中获取当前时区:
timezone=$(sed 's/ZONE=//g' /etc/sysconfig/clock)
输出是
"America/New_York"
如何在 CentOS 7 上获得准确的输出?
答案1
CentOS 7 特定:
timedatectl | gawk -F': ' ' $1 ~ /Timezone/ {print $2}'
并仅显示时区:
timedatectl | gawk -F'[: ]+' ' $2 ~ /Timezone/ {print $3}'
更通用:
date +%Z
答案2
答案3
timedatectl | awk '/Time zone:/ {print $3}'
答案4
对于时区,您可以使用地理位置:
$ curl https://ipapi.co/timezone
America/Chicago
或者:
$ curl http://ip-api.com/line?fields=timezone
America/Chicago