我想获取.local
主机名的 IP 地址,这样我就可以 ssh 进入它,似乎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
这是我失败的解决方案的众多变体之一:
# 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/
grep 行与 PING{ print $2}
打印第二个字段