我正在创build一个shell脚本,它应该执行一些本地设置,并在文本文件中回显机器的IP。 我需要这样做的原因是获取在一个PHP脚本的IP,并从那里作为一个网站的根使用它。
我可以使用ifconfig来获得IP,但是我需要去除无用的信息。 我想在shell脚本中做这个,而不是在PHP文件中。
操作系统是CentOS 5.5,我需要eth0的IP。
那么ip -4 -o addr show dev eth0会给你一个合理的好的一行输出显示地址,但它需要一些parsing来提取地址。 像这样的东西应该工作:
ip -4 -o addr show dev eth0 | awk '{ gsub(/\/[0-9]+$/, "", $4); print $4 }'
我个人会打破shell脚本和php脚本之间的联系,以避免紧密耦合。 如果是您想要的服务器IP地址,则分别启动您的脚本并以编程方式获取服务器IP。 你可以按照这里的指示来做到这一点 。 这样你只有对shell脚本的逻辑依赖。