D.25. /sbin/ifdown
#! / bin / bash
################################################ ######################
# ເລີ່ມຕົ້ນ /sbin/ifdown
#
# ລາຍລະອຽດ : Interface ລົງ
#
#! / bin / bash
################################################ ######################
# ເລີ່ມຕົ້ນ /sbin/ifdown
#
# ລາຍລະອຽດ : Interface ລົງ
#
# ຜູ້ຂຽນ
#
# ອັບເດດ
#
# ລຸ້ນ
#
# ໝາຍ ເຫດ
#
#
#
# ຜູ້ຂຽນ
#
# ອັບເດດ
#
# ລຸ້ນ
#
# ໝາຍ ເຫດ
#
#
#
############################################### ####################### RELEASE="7.0"
USAGE="ການນຳໃຊ້: $0 [ -hV ] [--help] [--version] interface" VERSTR="LFS ifdown, ລຸ້ນ ${RELEASE}"
ໃນຂະນະທີ່ [ $# -gt 0 ]; ເຮັດກໍລະນີ "$1" ໃນ
--ຊ່ວຍ | -h) help="y"; ແຕກ ;;
--ສະບັບ | -V) ສຽງສະທ້ອນ "${VERSTR}"; ອອກ 0 ;
############################################### ####################### RELEASE="7.0"
USAGE="ການນຳໃຊ້: $0 [ -hV ] [--help] [--version] interface" VERSTR="LFS ifdown, ລຸ້ນ ${RELEASE}"
ໃນຂະນະທີ່ [ $# -gt 0 ]; ເຮັດກໍລະນີ "$1" ໃນ
--ຊ່ວຍ | -h) help="y"; ແຕກ ;;
--ສະບັບ | -V) ສຽງສະທ້ອນ "${VERSTR}"; ອອກ 0 ;
-*)
echo "ifup: ${1}: ທາງເລືອກທີ່ບໍ່ຖືກຕ້ອງ" >&2 echo "${USAGE}" >& 2
ທາງອອກ 2 ;
-*)
*) esac
ເຮັດ
ແຕກ ;;
*) esac
ເຮັດ
ຖ້າ [ -n "$help" ]; ແລ້ວ
ຖ້າ [ -n "$help" ]; ແລ້ວ
echo "${VERSTR}" echo "${USAGE}" echo
cat << HERE_EOF
ifdown ຖືກໃຊ້ເພື່ອເອົາສ່ວນຕິດຕໍ່ເຄືອຂ່າຍລົງ. ພາຣາມິເຕີການໂຕ້ຕອບ, ເຊັ່ນ: eth0 ຫຼື eth0:2, ຈະຕ້ອງກົງກັບສ່ວນຕໍ່ທ້າຍຂອງໄຟລ໌ຂໍ້ມູນສະເພາະຂອງສ່ວນຕິດຕໍ່, ຕົວຢ່າງ: /etc/sysconfig/ifconfig.eth0:2.
ທີ່ນີ້_EOF
ທາງອອກ 0
fi file=/etc/sysconfig/ifconfig.${1}
# ຂ້າມໄຟລ໌ສຳຮອງ
[ "${file}" = "${file%""~"}" ] || ທາງອອກ 0
. /lib/lsb/init-functions ຖ້າ [ ! -r "${file}" ]; ແລ້ວ
log_warning_msg "${file} ຫາຍໄປ ຫຼືບໍ່ສາມາດເຂົ້າໄດ້." ທາງອອກ 1
fi
. ${file}
ຖ້າ [ "$IFACE" = "" ]; ແລ້ວ
log_failure_msg "${file} ບໍ່ໄດ້ກໍານົດການໂຕ້ຕອບ [IFACE]." ທາງອອກ 1
fi
# ພວກເຮົາພຽງແຕ່ຕ້ອງການການບໍລິການທໍາອິດທີ່ຈະເອົາລົງໃນການໂຕ້ຕອບ S=`echo ${SERVICE} | ຕັດ -f1 -d" "`
ຖ້າລິ້ງ ip ສະແດງ ${IFACE} > /dev/null 2>&1; ແລ້ວ
ຖ້າ[ -n "${S}" -a -x "/lib/services/${S}" ]; ຈາກນັ້ນ IFCONFIG=${file} /lib/services/${S} ${IFACE} ລົງ
ອື່ນ
MSG="ບໍ່ສາມາດປະມວນຜົນ ${file} ໄດ້. " MSG="${MSG}ຕົວແປ SERVICE ບໍ່ໄດ້ຕັ້ງ"
MSG="${MSG}ຫຼືການບໍລິການທີ່ລະບຸໄວ້ບໍ່ສາມາດດໍາເນີນການໄດ້." log_failure_msg "$MSG"
ທາງອອກ 1
fi ອື່ນ
log_warning_msg "ອິນເຕີເຟດ ${1} ບໍ່ມີຢູ່."
fi
# ອອກຈາກການໂຕ້ຕອບຖ້າມີສ່ວນຕິດຕໍ່ເພີ່ມເຕີມໃນອຸປະກອນ link_status=`ip link ສະແດງ ${IFACE} 2>/dev/null`
ຖ້າ [ -n "${link_status}" ]; ແລ້ວ
ຖ້າ [ "$(echo "${link_status}" | grep UP)" != "" ]; ແລ້ວ
ຖ້າ [ "$(ip addr ສະແດງ ${IFACE} | grep 'inet ')" =="" ]; ຈາກນັ້ນ log_info_msg "ກຳລັງລຶບສ່ວນຕິດຕໍ່ ${IFACE}..."
ip link ຕັ້ງ ${IFACE} ລົງ evaluate_retval
fi
fi
fi
# End /sbin/ifdown
fi
fi
fi
# End /sbin/ifdown