#!/bin/bash # run dhclient.d scripts in an emulated environment PATH=/bin:/usr/bin:/sbin SAVEDIR=/var/lib/dhclient ETCDIR=/etc/dhcp interface=$1 for optname in "${!DHCP4_@}"; do newoptname=${optname,,}; newoptname=new_${newoptname#dhcp4_}; export $newoptname="${!optname}"; done [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network [ -f /etc/sysconfig/network-scripts/ifcfg-$interface ] && \ . /etc/sysconfig/network-scripts/ifcfg-$interface if [ -d $ETCDIR/dhclient.d ]; then for f in $ETCDIR/dhclient.d/*.sh; do if [ -x $f ]; then subsystem="${f%.sh}" subsystem="${subsystem##*/}" . ${f} if [ "$2" = "up" ]; then "${subsystem}_config" elif [ "$2" = "down" ]; then "${subsystem}_restore" fi fi done fi