2024-07-24 12:09:40 +00:00
|
|
|
#!/bin/bash
|
|
|
|
#change time using hwclock and date -s
|
|
|
|
|
|
|
|
clear
|
|
|
|
|
|
|
|
echo -e -n "Please enter the date and time you wish to set\n"
|
2024-07-29 13:41:27 +00:00
|
|
|
echo -e -n "You need to set the time according to the UTC/GMT timezone please check https://time.is/UTC\n\n"
|
2024-07-25 10:21:54 +00:00
|
|
|
|
2024-07-24 12:09:40 +00:00
|
|
|
|
|
|
|
get_date () {
|
2024-07-29 13:41:27 +00:00
|
|
|
echo -e -n "Please insert $1 (between $2-$3) (Enter key to accept $2)\n"
|
2024-07-24 12:09:40 +00:00
|
|
|
read -n $4 value
|
|
|
|
echo -e "\n"
|
|
|
|
#if enter
|
|
|
|
if [[ $value = "" ]]; then
|
|
|
|
value=$2
|
|
|
|
fi
|
|
|
|
|
|
|
|
#must be a $4 digits number between $2 and $3
|
|
|
|
while [[ ! $value =~ ^[0-9]{$4} ]] || [[ ${value#0} -lt $2 ]] || [[ ${value#0} -gt $3 ]];
|
|
|
|
do
|
2024-07-29 13:41:27 +00:00
|
|
|
echo -e -n "$1 is wrong: you entered "$value". Please try again, it must be $4 digits number between $2 and $3 (press Enter to accept $2) \n"
|
2024-07-24 12:09:40 +00:00
|
|
|
read -n $4 value
|
|
|
|
echo -e "\n"
|
|
|
|
if [[ $value = "" ]]; then
|
|
|
|
value=$2
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
get_date "year" "2024" "2200" "4"
|
|
|
|
year=$value
|
|
|
|
get_date "month" "01" "12" "2"
|
|
|
|
month=$value
|
|
|
|
get_date "day" "01" "31" "2"
|
|
|
|
day=$value
|
|
|
|
get_date "hour" "00" "23" "2"
|
|
|
|
hour=$value
|
2024-07-29 13:41:27 +00:00
|
|
|
get_date "minute" "00" "59" "2"
|
2024-07-24 12:09:40 +00:00
|
|
|
min=$value
|
2024-07-29 13:41:27 +00:00
|
|
|
get_date "second" "00" "59" "2"
|
2024-07-24 12:09:40 +00:00
|
|
|
sec=$value
|
|
|
|
|
|
|
|
##getting the output of date -s
|
|
|
|
OUTPUT=$(date -s "$year-$month-$day $hour:$min:$sec" 2>&1)
|
|
|
|
|
|
|
|
##if output is starting with the letter d which is the beginning of the error message then we do the script again
|
|
|
|
if [[ ${OUTPUT} == d* ]]; then
|
2024-07-29 13:41:27 +00:00
|
|
|
echo "The date is not correct, press any key to try again"
|
2024-07-24 12:09:40 +00:00
|
|
|
echo -e "\n"
|
2024-07-29 13:41:27 +00:00
|
|
|
read -n 1 nothing
|
2024-07-24 12:09:40 +00:00
|
|
|
clear
|
|
|
|
change-time
|
|
|
|
else
|
|
|
|
hwclock -w
|
2024-07-29 13:41:27 +00:00
|
|
|
echo -e "The system date has been sucessfully set to $year-$month-$day $hour:$min:$sec"
|
2024-07-24 12:09:40 +00:00
|
|
|
echo -e "\n"
|
|
|
|
|
2024-07-29 13:41:27 +00:00
|
|
|
echo -e "Press any key to return to the menu"
|
2024-07-24 12:09:40 +00:00
|
|
|
echo -e "\n"
|
|
|
|
read -n 1 nothing
|
2024-07-29 13:41:27 +00:00
|
|
|
fi
|