【Linux】コマンドを繰り返してくれる「watch」
Linux上でコマンドを繰り返して欲しい時に使用する watchコマンド。
たとえば dateコマンドを実行してリアルタイムにLinux上の時刻を表示ができます。
watch の使い方
使い方は簡単で watch の後に繰り返したいコマンドを指定するだけです。
watch [コマンド]
1秒ごとに date コマンドを実行する場合はいかのようになります。-n の間隔指定がない場合は2秒間隔で実行します。
watch -n 1 date
オプション
-twatchコマンドの実行間隔などのヘッダー情報を表示しない-eエラー時(実行したコマンドがエラーコード0以外で終了したとき)はwatchコマンドも終了する-bエラー時にビープ音をならす-d直前の実行結果と変化した箇所をハイライトにする-d=permanentのオプションで実行すると初回から変化した箇所をハイライトにする
-c色表示に対応してくれる-g実行結果が変化したらwatchコマンドを終了する-n 秒数実行間隔を秒数で指定する(設定できる最小値と最小間隔は0.1秒)-p厳密な秒数でコマンドを実行-x指定したコマンドをexecコマンドで実行する(指定がない場合はsh -cで実行)
応用
コマンド中にワイルドカードやパイプを使用する場合
コマンド中にワイルドカードやパイプを使用する場合はダブルクォーテーションでコマンドを囲う必要があります。
watch -n1 "ls -al *.txt"
エスケープする
ダブルクォーテーションでコマンドを囲った際にコマンド内でダブルクォーテーションを使用したい際はエスケープをする必要があります。
watch -n1 "ls -al \"hoge.txt\""
コマンドに色をつける
ls コマンド を色つけする際に -c のオプションが必要になります。
watch -n1 -c ls -al --color