BashでTCPコネクションが受け付けるまでwaitする

BashでTCP接続可能になるまでまち、接続できたら終了する方法を調べた。

方法はncコマンドを使用する方法とBashだけでできる方法があるらしいが、ncコマンドは大抵デフォルトでインストールされていないので、Bashだけで行いたい。

対応

以下のコードで1秒間隔でTCP接続できるまで待ち、30秒経過した場合はタイムアウトする。

SH
HOST=postgres
PORT=5432
timeout 30 bash -c "until printf '' 2>>/dev/null >>/dev/tcp/${HOST}/${PORT}; do sleep 1; done"
szk302

この記事の著者

記事一覧へ
記事を検索

タイトル・タグ・記事本文から検索できます。

例えばAWSTerraformPowerShellGit