BashでサーバーのIPアドレスを取得して使用しますか?

BashでサーバーのIPアドレスを取得して使用しますか?

展開するすべてのシステムで完全に実行されるBashファイルがありますが、機能するにはサーバーIPをコマンドに入力する必要があり、各サーバーに手動で入力しますが、方法がないかと思います。このプロセスを自動化するには?たとえば、次のコマンドが必要だとします。

mycli serve --host x.x.x.x &

Bashファイルが自動的にサーバーIPを検索し、各サーバーでxxxxを置き換えるのではなく、そのIPを使用してコマンドを実行したいですか?

ベストアンサー1

IPアドレスを設定するスクリプトの先頭に変数を設定した後、スクリプトが実行する実際のコマンドでその変数を使用します。

突然思ったんだけど、

IPADDR=$(ip addr show |grep 'inet '|grep -v 127.0.0.1 |awk '{print $2}'| cut -d/ -f1)

次に、スクリプトで$IPADDRIPを配置する場所を使用します。

これは、単一のIPと単一のループバック127.0.0.1を持つサーバーでのみ正しく機能し、これを行うより良い方法がある可能性があります。

おすすめ記事