任何想法如何避免myIpAddress()始终返回127.0.0.1,而不是实际的主机IP地址?
环境是Ubuntu 11.04和Firefox 4.0.1。
从{/ 3 /}删除/ etc / hosts文件中的条目的标准答案没有帮助。
答案 0 :(得分:1)
最终有效的方法是使用IP地址正确更新/ etc / hosts中的条目。
在Ubuntu中,/etc/network/if-up.d
目录中的可执行文件在网络管理员配置网络接口后正在执行。
此脚本会相应更新IP地址:
#!/bin/sh
set -e
if [ "$IFACE" = lo ]; then
exit 0
fi
myHostName=T410
# Remove current line with hostname at the end of line
sed -i '/'$myHostName'$/ d' /etc/hosts
# Add new entry to hosts file
ipaddr=$(ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
echo "$ipaddr $myHostName" >>/etc/hosts