macos - 使用 Bash 解析 ifconfig 以仅获取我的 IP 地址

标签 macos bash awk ifconfig

我想编辑 bashrc 文件以运行一个名为“myip”的简单函数。正如您可能猜到的那样,函数 myip 仅打印我机器的内部 IP 地址。

就我开始工作而言,这是脚本:

ifconfig en1 | awk '{ print $2}' | sort

我得到了这个输出:

10.0.0.12
options=1<PERFORMNUD>
flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST>
fe80::daa2:5eff:fe96:ba2f%en1
d8:a2:5e:96:ba:2f
autoselect
active

我正在使用 Mac OS X。

我怎样才能完成这件事?

最佳答案

以下两个都在这里工作(CentOS 5)。

ip addr show eth0 | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}'

ifconfig eth0 | awk '/inet addr/ {gsub("addr:", "", $2); print $2}'

对于 OS X(至少为 v10.11(El Capitan)):

ifconfig en0 | awk '$1 == "inet" {print $2}'

关于macos - 使用 Bash 解析 ifconfig 以仅获取我的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934425/

相关文章:

python - 安装 numpy 从

Mysql:在 macOS 上安装后立即拒绝用户 'root' @'localhost' 的访问

macos - 向 VIM OSX 终端添加永久数字行

linux - 如果屏幕已经在运行,如何检查 If-Statement

linux - 用于自动过程的 Cronjob

c++ - 使用 g++-5 时,protobuf 不会在 osx 上编译

linux - 在 Bash/Linux 中将日期、时间、文件计数和文件名写入文件

linux - 如何从 awk 语句添加时间格式 hh :mm. ss

shell - awk - 计算文件内容

regex - sed 和 awk 正则表达式有什么区别