.local pingのIPアドレスを変数として取得します。

.local pingのIPアドレスを変数として取得します。

.localSSHで接続できるようにホスト名のIPアドレスを取得したいのですが、host hostname.localこの場合は機能しないようです。

ssh [email protected]うまくいかなかったので交換しようとしています。ssh [email protected]

.localDNSではなくホスト名をIPアドレスに変換するコマンドが単純なpingコマンドであることがわかりました。

pingの結果です

PING 5153F344.local (192.168.8.105) 56(84) bytes of data.
64 bytes from 192.168.8.105: icmp_seq=1 ttl=64 time=0.524 ms

--- 5153F344.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.524/0.524/0.524/0.000 ms

失敗したソリューションのさまざまなバリエーションの1つは次のとおりです。

# Note trying not to use single quotes so I can turn all these commands into an alias:
DEV_TERM_IP="$(ping -c 1 5153F344.local) | cut -d \"(\" -f2 | cut -d \")\" -f1 | echo"
ssh "me@$DEV_TERM_IP.local"

ベストアンサー1

頑張ります

 DEV_TERM_IP=$(ping -c 2 localhost| awk -F '[()]' '/PING/ { print $2}')

どこ

  • -F '[()]'awkに(または)を区切り文字として使用するように指示します。
  • /PING/pingを含むgrepライン
  • { print $2}2番目のフィールドの印刷

おすすめ記事