Parse ifconfig with Bash to get current IP address (wifi or ethernet)
我正在尝试使用bash脚本输出当前的IP地址。我正在尝试将我的头缠在
1 | /sbin/ifconfig $1 | grep"inet" | awk '$1 =="inet" {gsub(/\\/.$/,"", $2); print $2}' |
输出:
1 2 | 127.0.0.1 192.168.178.57 |
我现在有两个问题:首先,
其次,
您可以使用以下awk脚本:
1 | awk '/inet / && $2 !="127.0.0.1"{print $2}' <(ifconfig) |
在计算机上获取当前使用的IP的最佳方法。
1 2 | ip route get 8.8.8.8 | awk '{print $NF;exit}' 192.168.1.30 |
旧版本。不要使用!!!!!!
请参阅我对此信息的回复:
Linux bash脚本提取IP地址
如果您不介意安装某些东西和/或如果您已经拥有节点,请尝试sindresorhus / internal-ip
1 2 3 | $ npm install --global internal-ip $ internal-ip 192.168.0.2 |
专业版:跨平台
注意:我知道它不是bash,并且它不使用
我建议您使用
1 2 | $ ip addr show dev $(ip route ls|awk '/default/ {print $5}')|grep -Po 'inet \\K(\\d{1,3}\\.?){4}' 10.251.26.9 |
这是一个使用
此处