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