【linux】bashコマンドラインで簡単に無限ループを実現する | 瀬戸内の雲のように

【linux】bashコマンドラインで簡単に無限ループを実現する

Posted: 2018-01-26


スポンサーリンク

目次

背景

linuxでトラブル対応などをしている時に、短い時間でコマンドを繰り返し実行したい時があります。例えばnetstatでTCPコネクションが増えたかどうか、など。
そんな時のやり方をメモしておきます。

やり方

結果はほぼ同じですが、2つやり方があります。

1. watchコマンドを使う

まぁこれで全部解決なんですが。watchコマンドを使えば簡単に実現できます。
使い方はこんな感じ。

# watch -n 表示更新する秒数 "コマンド"
watch -n 1 "netstat -atn | grep 443"

表示結果は以下のような感じ。

Every 1.0s: netstat -atn | grep 443                     Sat Jan 27 13:39:39 2018

tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN

この結果が1秒毎に更新されます。

2. while文で作る

ぶっちゃけwatchコマンドで全部解決なんですが、同じことをwhile文でもできます。

$ while :; do netstat -atn | grep 443 ; sleep 1; clear; done

これでも同じようにコマンドを一定時間毎に実行し、表示を更新してくれます。

while :; do 〜〜 doneの部分で無限ループになっています。
たしか、:の部分がTrue的な意味だったのでこれで無限ループになったと聞いた気がします。

以上、役に立つか微妙ですがメモです。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back