linuxshellip
① linux shell中字符串匹配截取IP
你这个可用多个方法,最简单的可用grep
如
s="Connections: authenticated: 10.0.115.172::56498, as admin (Full access)"
echo $s | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+::[0-9]+"
结果
10.0.115.172::56498
这个正则相关的学习,对于学习Linux来说也是非常重要的,刘老师的新书《linux就该这么学》,关于这块讲解得非常透彻,你可以翻阅查看一下。
② Linux Shell 反写IP并保留最后两段
echo "192.168.1.100" | awk -F"." '{print $4}'
echo "192.168.1.100" | awk -F"." '{print $4"."$3}'
echo "192.168.1.100" | awk -F"." '{print $4"."$3"."$2}'
echo "192.168.1.100" | awk -F"." '{print $4"."$4"."$2"."$1}'
③ 【Linux】在shell脚本中获取当前主机的主机名以及IP地址
在命令行模式下,获取当前主机名称:
在命令行模式下,获取IP地址:
在shell脚本中获取当前主机的主机名以及IP地址:
说明:
`` 表示执行该语句,并返回执行后的结果;
grep -A1 "eth0" 表示找出带有“eth0”的行,输出中除显示该行外,还显示之后的一行;
awk 则是进行分割。
④ 求一个linux shell脚本,把域名解析为ip然后echo出来。
# ./get_ip.sh
./get_ip.sh need a parameter
# ./get_ip.sh e.cn
202.112.0.36
# cat get_ip.sh
#!/bin/sh
if [ $# -lt 1 ]; then
echo $0 need a parameter
exit 0
fi
ADDR=$1
TMPSTR=`ping ${ADDR} packetsize 1 | grep ${ADDR} | head -n 1`
echo ${TMPSTR} | cut -d'(' -f 2 | cut -d')' -f1
⑤ linux shell下如何取本机IP的最后一位
下假设网卡是:eth0
ifconfig eth0 | grep "inet addr" | cut -b21-34
通过这个可以得到 整个IP地址,最后一位,也就简单了:如下
ifconfig eth0 | grep "inet addr" | cut -b31-34
⑥ Linux中用shell编程获取IP地址及MAC地址
我也给一个我的答案,供大家参考
利用ifconfig这个命令就可以显示所有网络相关的基本信息
当然在此基础之上做一些文本处理,就可以直接输出想要
的IP和MAC信息,代码如下
⑦ 用shell怎么在linux下修改eth0的ip地址
!#/bin/bash
ifconfig eth0 x.x.x.x netmask x.x.x.x up #立即生效
ipconf = "/etc/sysconfig/network-scripts/ifcfg-eth0"
echo "DEVICE=eth0" > $ipconf
echo "ONBOOT=yes" > $ipconf
echo "BOOTPROTO=static" > $ipconf
echo "IPADDR=192.168.0.117" > $ipconf
echo "NETMASK=255.255.255.0" > $ipconf
echo "GATEWAY=192.168.0.254" > $ipconf
echo "service network restart" > $ipconf