.local
SSHで接続できるようにホスト名のIPアドレスを取得したいのですが、host hostname.local
この場合は機能しないようです。
ssh [email protected]
うまくいかなかったので交換しようとしています。ssh [email protected]
.local
DNSではなくホスト名を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番目のフィールドの印刷