【Linux Tips】whileでコマンドを好きなだけ繰り返す

Linux
スポンサーリンク

概要

  • ctrl + c で停止するまでコマンドを任意の感覚で実行したい。
  • watchコマンドだと実行結果がコンソールに残らないから困る。

といった場合は、whileコマンドを利用すれば対応できます。

【例】dateコマンドを1秒間隔で実行する

コンソールからの入力例

$ while true
> do
> sleep 1
> date
> done

実行結果

2020年 3月 3日 火曜日 13時39分13秒 JST
2020年 3月 3日 火曜日 13時39分14秒 JST
2020年 3月 3日 火曜日 13時39分15秒 JST
2020年 3月 3日 火曜日 13時39分16秒 JST
2020年 3月 3日 火曜日 13時39分17秒 JST
2020年 3月 3日 火曜日 13時39分18秒 JST
2020年 3月 3日 火曜日 13時39分19秒 JST
2020年 3月 3日 火曜日 13時39分20秒 JST
^C

ctrl + c を押すまで繰り返し1秒感覚でdateコマンドが実行されている。

関数にして使用する

関数定義

function whilecmd(){
   while true; do
       sleep 1
       $1
   done
}

使い方・実行例

$ whilecmd "echo test"
test
test
test
test
test
^C

コメント

タイトルとURLをコピーしました