D.25. /sbin/ifdown
#! / Bin / bash
#################################################################### ######################
# Începeți /sbin/ifdown
#
# Descriere: Interfață în jos
#
#! / Bin / bash
#################################################################### ######################
# Începeți /sbin/ifdown
#
# Descriere: Interfață în jos
#
# Autori
#
# Actualizați
#
# Versiune
#
# Note
#
#
#
# Autori
#
# Actualizați
#
# Versiune
#
# Note
#
#
#
#################################################################### ##################### RELEASE="7.0"
USAGE="Utilizare: $0 [ -hV ] [--help] [--version] interfață" VERSTR="LFS ifdown, versiunea ${RELEASE}"
în timp ce [ $# -gt 0 ]; faceți cazul „$1” în
--ajutor | -h) ajutor="y"; pauză ;;
--versiunea | -V) ecou „${VERSTR}”; ieșire 0;;
#################################################################### ##################### RELEASE="7.0"
USAGE="Utilizare: $0 [ -hV ] [--help] [--version] interfață" VERSTR="LFS ifdown, versiunea ${RELEASE}"
în timp ce [ $# -gt 0 ]; faceți cazul „$1” în
--ajutor | -h) ajutor="y"; pauză ;;
--versiunea | -V) ecou „${VERSTR}”; ieșire 0;;
-*)
echo „ifup: ${1}: opțiune nevalidă” >&2 echo „${USAGE}” >& 2
ieșirea 2 ;;
-*)
*) esac
făcut
pauză ;;
*) esac
făcut
if [ -n "$ajutor" ]; atunci
if [ -n "$ajutor" ]; atunci
echo „${VERSTR}” echo „${USAGE}” ecou
pisică << AICI_EOF
ifdown este folosit pentru a reduce o interfață de rețea. Parametrul interfeței, de exemplu eth0 sau eth0:2, trebuie să se potrivească cu partea de sfârșit a fișierului cu specificațiile interfeței, de exemplu /etc/sysconfig/ifconfig.eth0:2.
HERE_EOF
iesirea 0
fi file=/etc/sysconfig/ifconfig.${1}
# Omite fișierele de rezervă
[ "${file}" = "${file%""~""}" ] || iesirea 0
. /lib/lsb/init-functions dacă [ ! -r „${fișier}” ]; atunci
log_warning_msg „${file} lipsește sau nu poate fi accesat.” iesirea 1
fi
. ${file}
if [ "$IFACE" = "" ]; atunci
log_failure_msg „${file} nu definește o interfață [IFACE].” iesirea 1
fi
# Trebuie doar să facem primul service pentru a reduce interfața S=`echo ${SERVICE} | tăiați -f1 -d" "`
dacă legătura IP arată ${IFACE} > /dev/null 2>&1; atunci
if[ -n "${S}" -a -x "/lib/services/${S}" ]; apoi IFCONFIG=${file} /lib/services/${S} ${IFACE} jos
altfel
MSG="Nu se poate procesa ${file}. Fie " MSG="${MSG}variabila SERVICE nu a fost setată"
MSG="${MSG}sau serviciul specificat nu poate fi executat." log_failure_msg „$MSG”
iesirea 1
fi altceva
log_warning_msg "Interfața ${1} nu există."
fi
# Lăsați interfața deschisă dacă există interfețe suplimentare în dispozitiv link_status=`ip link show ${IFACE} 2>/dev/null`
dacă [ -n "${link_status}" ]; atunci
if [ "$(echo "${link_status}" | grep UP)" != "" ]; atunci
if [ "$(adresă ip arată ${IFACE} | grep 'inet ')" == "" ]; apoi log_info_msg „Se dezactivează interfața ${IFACE}...”
link-ul ip setează ${IFACE} jos evaluate_retval
fi
fi
fi
# Încheiați /sbin/ifdown
fi
fi
fi
# Încheiați /sbin/ifdown