set -- $(v4_info $_ifs)
if [[ -n $2 ]]; then
ifconfig $_ifs inet $2 delete
[[ $2 != "0.0.0.0" ]] && { _addr=$2; _mask=$3; }
fi
[[ -x /sbin/dhclient ]] && _prompt=" or 'dhcp'"
_prompt="IPv4 address for $_ifs? (or 'none'$_prompt)"
ask_until "$_prompt" "$_addr"
case $resp in
none) ;;
dhcp) if [[ ! -x /sbin/dhclient ]]; then
echo "DHCP not possible - no /sbin/dhclient."
elif dhcp_request $_ifs "$_name" || dhcp_request $_ifs ; then
addhostent "127.0.0.1" "$_name"
echo "dhcp NONE NONE NONE $_media" >; $_hn
fi
;;
*) _addr=$resp
ask_until "Netmask?" "${_mask:=255.255.255.0}"
if ifconfig $_ifs inet $_addr netmask $resp up ; then
addhostent "$_addr" "$_name"
echo "inet $_addr $resp NONE $_media" >; $_hn
fi
;;
esac
}
v4_defroute() {
local _dr _prompt=" or 'none'"
[[ -x /sbin/dhclient ]] && _prompt=", 'dhcp'$_prompt"
_prompt="Default IPv4 route? (IPv4 address$_prompt)"
_dr=$(route -n show -inet | sed -ne '/^default */{s///; s/ .*//; p;}')
[[ -f /tmp/dhclient.conf ]] && _dr=dhcp
while : ; do
ask_until "$_prompt" "$_dr"
case $resp in
none|dhcp) break ;;
esac
route delete -inet default >; /dev/null 2>;&1
route -n add -inet -host default "$resp" && { echo "$resp" >;/etc/mygate ; break ; }
route -n add -inet -host default $_dr >;/dev/null 2>;&1
done
}
isalphanumeric() {
local _n=$1
while [[ ${#_n} -ne 0 ]]; do
case $_n in
[A-Za-z0-9]*) ;;
*) return 1;;
esac
_n=${_n#?}
done
return 0
}
enable_network() {
local _netfile
# for _netfile in hosts dhclient.conf resolv.conf resolv.conf.tail protocols services; do
# if [ -f /mnt/etc/${_netfile} ]; then
# cp /mnt/etc/${_netfile} /etc/${_netfile}
# fi
# done
ifconfig lo0 inet 127.0.0.1
for hn in /etc/hostname.*; do
if=${hn#/etc/hostname.}
if ! isalphanumeric "$if"; then
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 过程 制作 if then echo fi resp done do RULES 文件 |
注册
个人空间
