「while :」で繰り返しコマンドを実行できる。応用も効くので覚えておくと便利。
以下はwhileを使用して5秒に1度pingと現在時刻確認を確認する動作を繰り返す例。Ctrl+Cでキャンセルするまで繰り返す。
[root@cent7S2 /]#
[root@cent7S2 /]# while :
> do
> ping -c 1 192.168.56.102
> date
> echo "================================"
> sleep 5
> done
PING 192.168.56.102 (192.168.56.102) 56(84) bytes of data.
64 bytes from 192.168.56.102: icmp_seq=1 ttl=64 time=0.539 ms
--- 192.168.56.102 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.539/0.539/0.539/0.000 ms
2021年 9月 1日 水曜日 23:34:34 JST
================================
PING 192.168.56.102 (192.168.56.102) 56(84) bytes of data.
64 bytes from 192.168.56.102: icmp_seq=1 ttl=64 time=0.392 ms
--- 192.168.56.102 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.392/0.392/0.392/0.000 ms
2021年 9月 1日 水曜日 23:34:39 JST
================================
historyでみると、1行のコマンドして認識されているので、再利用するときは1行コマンドをコピーして実行してもよい。
[root@cent7S2 /]# history 3
434 while :; do ping -c 1 192.168.56.102; date; echo "================================"; sleep 5; done
435 history 5
436 history 3
以上