Linux中脚本读取ini文件可使用以下函数:
#!/bin/sh
# __readINI [配置文件路径+名称] [节点名] [键值]
__readINI() {
INIFILE=$1; ITEM=$2
_readIni=`awk -F '=' '$1~/'$ITEM'/{print $2;exit}' $INIFILE`
echo ${_readIni}
}
因此可以新建一个脚本,让其通过读取ini来实现修改设备ip 网关及dns。
#!/bin/sh
# __readINI [配置文件路径+名称] [节点名] [键值]
__readINI() {
INIFILE=$1; ITEM=$2
_readIni=`awk -F '=' '$1~/'$ITEM'/{print $2;exit}' $INIFILE`
echo ${_readIni}
}
# ip netmask
_ip=$(__readINI /opt/etc/test.ini ip)
_netmask=$(__readINI /opt/etc/test.ini netmask)
ifconfig eth0 ${_ip} netmask ${_netmask}
# mac
_mac=$(__readINI /opt/etc/test.ini mac)
ifconfig eth0 hw ether ${_mac}
# gateway
_gateway=$(__readINI /opt/etc/test.ini gateway)
route add default gw ${_gateway}
# dns1
_dns1=$(__readINI /opt/etc/test.ini dns1)
echo "nameserver ${_dns1} " > /etc/resolv.conf
# dns2
_dns2=$(__readINI /opt/etc/test.ini dns2)
echo "nameserver ${_dns2} " >> /etc/resolv.conf
echo "options timeout:1 attempts:1" >> /etc/resolv.conf