トップへ(mam-mam.net/)

コマンドを一定間隔ごとに繰り返し実行するには

検索:

「コマンドを一定間隔ごとに繰り返し実行するには」

コマンドを一定間隔ごとに繰り返し実行するにはどうすればよいか。

例えば、大きなファイルの受信中で、
一定間隔ごとに「ls」コマンドを繰り返し実行するには。

回答

watchコマンドを使用します。
オプション
-d :前回の実行のコマンド出力から変化した箇所をハイライト表示する
-n :実行間隔を指定する。(デフォルト2秒)
-p :実行間隔をなるべく正確にする
-t :ヘッダを非表示にする
-b :エラーが発生するとビープ音を鳴らす
-e :エラー時にwatchコマンドを停止し、キーを押した後に終了する
-g :コマンド出力が変化したら終了する

ソース

(例)1秒間隔で「ls -l」コマンドを実行し、変化した箇所をハイライト表示する
watch -d -n 1 ls -l

(例)1秒間隔で「cat test.txt|wc -l」コマンド(test.txtファイルの改行の数を表示)を実行し、
   変化した箇所をハイライト表示する
watch -d -n 1 "cat test.txt|wc -l"