一定時間後にモニタをオフ。指定時間にプログラムを実行。
#!/bin/bash
function SetWakeDayAfter() {
para1=""
echo "----------------------------"
echo "wake日時を選択してください。。"
echo "0=today,1=+1day,2=+2day"
read input
if [ $input = 0 ] ; then
para="today"
elif [ $input = 1 ] ; then
para="+1 days"
# echo " スクリプトを実行します."
# return $input
elif [ $input = 2 ] ; then
para="+2 days"
# echo " スクリプトを終了します."
# exit 1
else
echo "有効値を入力してください"
SetWakeTime
fi
# echo $para
return $input
}
function ConfirmExecution() {
echo "----------------------------"
echo "一定時間経過後電源を切ります。"
echo "何分後に電源を切りますか?"
read input
if [ -z $input ] ; then
echo "数値を入力してください(255まで)。no=終了します"
ConfirmExecution
#elif [ $input = 'yes' ] || [ $input = 'YES' ] || [ $input = 'y' ] ; then
elif [[ "$input" =~ ^[0-9]+$ ]] ; then
echo " スクリプトを実行します."
return $input
elif [ $input = 'no' ] || [ $input = 'NO' ] || [ $input = 'n' ] ; then
echo " スクリプトを終了します."
exit 1
else
echo "数値を入力してください。"
ConfirmExecution
fi
}
keizoku=999
while [ $keizoku -gt 0 ]
do
#keizoku=$keizoku -1
keizoku=$(($keizoku - 1))
echo "keizoku="$keizoku
SetWakeDayAfter
KeikaNichiji=$?
echo "----------------------------"
echo $KeikaNichiji"日後に復帰します"
#date +%Y-%m-%d" 04:30:00" --date '+1 days'
#date +%Y-%m-%d" 04:30:00" --date "+"$KeikaNichiji" days"
WakeTime=$(date +%Y-%m-%d" 04:00:00" --date "+"$KeikaNichiji" days")
echo $WakeTime
#$(date +%s -d "2021-09-30 04:30:00")
#date +%s -d "2021-10-01 04:30:00"
#echo "2021-10-03"
#date +%s -d "2021-10-03 04:30:00"
#date +%s -d "2021-10-03 04:30:00"
#date +%s -d $"2021-10-03 04:30:00"
WakeTimeSecond=$(date +%s -d """$WakeTime""")
echo $WakeTimeSecond
#firefox "https://www.youtube.com/watch?v=ncfViXHwlcE" &
# シェルスクリプトの実行を継続するか確認します。
ConfirmExecution
Remain=$?
echo "----------------------------"
echo $Remain"分後に電源を切ります"
start=1
#end=120
#echo "please wait $end seconds"
while [[ $start -le $Remain ]]; do
echo $(($Remain-$start))
# xdotool mousemove 300 $start
sleep 1m
# sleep 5s
# xdotool mousemove $start 300
# sleep 5s
start=$(($start+1))
done
#sleep 120m
echo "電源を切ります。"
sleep 1m
#poweroff
pgrep firefox | xargs kill -9
sleep 1m
$WakeTimeSecond
#sudo /usr/sbin/rtcwake -m mem -t $(date +%s -d "2021-09-30 04:30:00")
sudo /usr/sbin/rtcwake -m mem -t $WakeTimeSecond
#date +%Y-%m-%d" 04:30:00" --date "+"$KeikaNichiji" days"
#sudo /usr/sbin/rtcwake -m mem -t $(date +%s -d "2021-09-30 04:30:00")
sleep 1m
firefox "https://www.youtube.com/watch?v=P1fYUdJJ-20" &
#sleep 1m
start=1
Remain=60
#end=120
#echo "please wait $end seconds"
while [[ $start -le $Remain ]]; do
echo $(($Remain-$start))
xdotool mousemove 300 $start
# sleep 1m
sleep 30s
echo "画面キープ中、Remain="$Remain
xdotool mousemove $start 300
sleep 30s
start=$(($start+1))
done
done