展開するすべてのシステムで完全に実行される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)
次に、スクリプトで$IPADDR
IPを配置する場所を使用します。
これは、単一のIPと単一のループバック127.0.0.1を持つサーバーでのみ正しく機能し、これを行うより良い方法がある可能性があります。