Files
BPI-CM9-Linux/aml-comp/vendor/amlogic/dvb/script/am_ip_setup.sh
T
2026-08-24 10:03:24 +08:00

81 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
#设定IP地址
#命令: am_ip_setup.sh dynamic
# 设定主机的IP地址和DNS为通过DHCP自动获得
#命令: am_ip_setup.sh static IPADDR NETMASK GATEWAY DNS1 [DNS2]
# 静态设定主机的IP地址,子网掩码,网关,DNS服务器
usage()
{
CMD=`basename $0`
echo usage: $CMD dynamic MAC
echo $CMD static MAC IPADDR NETMASK GATEWAY DNS1 [DNS2]
}
DHCPC="udhcpc"
IFCONFIG="ifconfig"
ROUTE="route"
RESOLVCONF="/etc/resolv.conf"
#DHCPC="echo udhcpc"
#IFCONFIG="echo ifconfig"
#ROUTE="echo route"
#DHCPC="dhclient"
#IFCONFIG="ifconfig"
#ROUTE="route"
ETH="eth0"
PROT=$1
#Kill all DHCPC
RET=0
while [ $RET = 0 ]; do
killall -9 ${DHCPC}
RET=$?
done
MAC=$2
if [ "x$MAC" = "x" ]; then
exit 0
fi
${IFCONFIG} ${ETH} down
${IFCONFIG} ${ETH} hw ether ${MAC}
if [ "x$PROT" = "xstatic" ]; then
#Static IP
IPADDR=$3
NETMASK=$4
GWADDR=$5
DNS1=$6
DNS2=$7
if [ "x$IPADDR" = "x" -o "x$NETMASK" = "x" ]; then
exit 0
fi
${IFCONFIG} ${ETH} down
${IFCONFIG} ${ETH} ${IPADDR} netmask ${NETMASK} up
if [ "x$GWADDR" != "x" ]; then
${ROUTE} add default gw ${GWADDR} ${ETH}
fi
if [ "x$DNS1" != "x" ]; then
echo nameserver ${DNS1} > ${RESOLVCONF}
fi
if [ "x$DNS2" != "x" ]; then
echo nameserver ${DNS2} >> ${RESOLVCONF}
fi
elif [ "x$PROT" = "xdynamic" ]; then
#DHCP
${DHCPC} &
else
usage
exit 1
fi