在debian系统下设置时区脚本
这个脚本可以让你方便地更改系统时区,而不需要手动修改配置文件。
首先,脚本会列出所有可用的大洲,让你选择你所在的大洲。
然后,它会列出该大洲下所有可用的时区,让你选择你所在的时区。
接着,脚本会备份旧的时区文件,并创建新的时区链接。
最后,它会获取当前时间和新时区的时间偏移量,计算时间差,并设置系统时间。
这个脚本非常方便实用,让你可以轻松地更改系统时区。如果你需要更改时区,只需要运行这个脚本,按照提示进行选择即可。
脚本
vim change_timezone.sh
#!/bin/bash
function list_timezones_by_continent() {
continent=$1
echo "List of available time zones:"
timedatectl list-timezones | grep "^$continent/"
}
echo "List of available continents:"
echo "1. Africa"
echo "2. America"
echo "3. Antarctica"
echo "4. Arctic"
echo "5. Asia"
echo "6. Atlantic"
echo "7. Australia"
echo "8. Europe"
echo "9. Indian"
echo "10. Pacific"
read -p "Please select Continent: " continent_num
case $continent_num in
1) list_timezones_by_continent "Africa";;
2) list_timezones_by_continent "America";;
3) list_timezones_by_continent "Antarctica";;
4) list_timezones_by_continent "Arctic";;
5) list_timezones_by_continent "Asia";;
6) list_timezones_by_continent "Atlantic";;
7) list_timezones_by_continent "Australia";;
8) list_timezones_by_continent "Europe";;
9) list_timezones_by_continent "Indian";;
10) list_timezones_by_continent "Pacific";;
*) echo "Error: Invalid selection!"; exit 1;;
esac
read -p "Copy the time zone and paste it: " timezone
if [ ! -f "/usr/share/zoneinfo/$timezone" ]; then
echo "Error: Time zone does not exist! Stupid guy"
exit 1
fi
cp /etc/localtime /etc/localtime.bak
ln -sf "/usr/share/zoneinfo/$timezone" /etc/localtime
current_time=$(date +%s)
new_offset=$(TZ=$timezone date +%s)
time_diff=$((new_offset - current_time))
date -s @$((current_time + time_diff))
echo "Time zone has been changed to: $timezone"
执行
chmod +x change_timezone.sh
sudo ./change_timezone.sh
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Tioit Wang
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果