查看源代码
出自Linux Wiki
对
Shell中获取当前IP地址
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
ifconfig返回的信息中包括IP地址,但要在Shell中获取当前IP地址,则要麻烦一些 ==获取方法== 由于不同系统中ifconfig返回信息的格式有一定差别,故分开讨论:<ref>http://www.cyberciti.biz/tips/read-unixlinux-system-ip-address-in-a-shell-script.html</ref> '''Linux:''' <source lang=bash> LC_ALL=C ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' </source> '''FreeBSD/OpenBSD:''' <source lang=bash> LC_ALL=C ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}' </source> '''Solaris:''' <source lang=bash> LC_ALL=C ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2}' </source> 三段代码的原理类似,都是先获取含有IP的行,再去掉含有127.0.0.1的行。最后获取IP所在的列 ==样例代码== 下面是一则示例的代码<ref>http://bash.cyberciti.biz/misc-shell/read-local-ip-address/</ref>: <source lang=bash> #!/bin/sh # Shell script scripts to read ip address # ------------------------------------------------------------------------- # Copyright (c) 2005 nixCraft project <http://cyberciti.biz/fb/> # This script is licensed under GNU GPL version 2.0 or above # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- # Get OS name OS=`uname` IO="" # store IP case $OS in Linux) IP=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`;; FreeBSD|OpenBSD) IP=`ifconfig | grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'` ;; SunOS) IP=`ifconfig -a | grep inet | grep -v '127.0.0.1' | awk '{ print $2} '` ;; *) IP="Unknown";; esac echo "$IP" </source> ==代码出处== <references /> [[Category: Shell技巧]]
返回到
Shell中获取当前IP地址
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面