以前、termux で mariadb を起動し、タスクの実行時刻やメモ、果てはGPSから東経北緯まで取得するスクリプトを作成しました。
しかし、実行時刻はある程度、手で修正したい場合が多いことが分かりましたし、備考欄も通常到着時刻からの遅れ以外に書きたいことはないということが分かりました。
そこで、通常到着時刻を強く意識しながら実行時刻を修正しやすいように書き直してみました。
#!/bin/bash ### 通常順が最も若い駅名と通常到着時刻を返します ### line=`\ mysql -h ${host} -u user delivery -N << _SQL_ select c.駅名,time_format(c.通常到着時刻,'%H:%i') from v_コース c left join v_通過済 p on c.駅名=p.駅名 where p.駅名 is null order by c.通常順 limit 1; _SQL_ ` station=`echo ${line} | awk '{print $1}'` arrival_time=`echo ${line} | awk '{print $2}'` if [ -z ${station} ] then kill `pgrep mysqld`; exit fi
#!/bin/bash converted_time=`\ mysql -N << _SQL_ select time_format('${arrival_time}','%p%l:%i'); _SQL_` line=`\ termux-dialog time -t "${station}駅 ${converted_time}" |\ tr "\n" " "` code=`echo ${line} | jq -r .code` if [ ${code} -eq -1 ] then input=`echo ${line} | jq -r .text` else kill `pgrep mysqld` exit fi
変数 ${arrival_time} はデータベースに事前に登録されている通常到着時刻です。駅名と一緒にタイトル表示しながら termux-dialog time にて自由に実行時刻を指定できるようにしました。
mariadb の挙動が少し不安定なのが気になる所です。