技術とか戦略とか

証券レガシーシステムを8年いじってから転職した普通の文系SEによるブログ。技術のみではなく趣味の戦略考察についても。

unix/linux:atコマンドの代替コマンド

特定の日時にコマンドが発行されるように登録するatコマンドですが、環境によってはこのコマンドが使用できないことがあります。
特定のユーザでしか実行できないように制御することができたり、OSによってはatコマンドで登録できない仕様(バグ?)があったりするためです。
 
この場合、以下のようなループ処理をワンライナーかつバックグラウンドで使用することで、atコマンドと同じようなことができるようになります。
 
・20:00に/home/hoge/test.txt(空ファイル)を作成するように登録する例
#> (TIME=`date "+%H%M"; while[${TIME} -lt 2000]; do sleep 60; TIME=`date "+%H%M"; done; touch /home/hoge/test.txt) &