我正在创建一个 shell 脚本,该脚本应该执行一些本地设置并在文本文件中回显机器的 IP。我需要这样做的原因是获取 PHP 脚本中的 IP,然后将其用作站点的 root 权限。
我可以使用 ifconfig 获取 IP,但我需要删除无用的信息。我想在 shell 脚本中而不是在 PHP 文件中执行此操作。
操作系统是CentOS 5.5,我需要eth0的IP。
答案1
好吧,ip -4 -o addr show dev eth0
你会得到一行相当不错的显示地址的输出,但需要一些解析来提取地址。类似这样的代码应该可以工作:
ip -4 -o addr show dev eth0 | awk '{ gsub(/\/[0-9]+$/, "", $4); print $4 }'
答案2
我个人会打破 shell 脚本和 php 脚本之间的联系,以避免两者紧密耦合。如果您想要的是服务器 IP 地址,那么请单独启动脚本并以编程方式获取服务器 IP。您可以按照说明进行操作这里这样你就只对 shell 脚本有逻辑依赖了。