又是一個(gè)比較長(zhǎng)的函數(shù),是用來(lái)檢查文件權(quán)限,目錄條件的。具體代碼如下:
check_env(){ # Check user PRivilege. #檢查用戶權(quán)限
check_user root # Check FQDN hostname.
#檢查主機(jī)名是否符合規(guī)則 check_hostname # Check config tool: dialog.
#檢查配置工具dialog是否存在 check_pkg ${BIN_DIALOG} ${PKG_DIALOG} ECHO_INFO -n "Checking configuration file: ${IREDMAIL_CONFIG_FILE} ..." #判斷配置文件是否存在,默認(rèn)的安裝包下是沒(méi)有的,應(yīng)該是用于安裝中斷后,恢復(fù)安裝的。
if [ -f ${IREDMAIL_CONFIG_FILE} ]; then if grep '^#EOF$' ${IREDMAIL_CONFIG_FILE} >/dev/null; then echo -e " [FOUND]" ECHO_QUESTION -n "Use it for mail server setting? [y|N]"
#讀取已經(jīng)存在的配置文件
read_setting ${AUTO_USE_EXISTING_CONFIG_FILE}
#給用戶一個(gè)選擇,是用已經(jīng)存在的配置文件,還是重新安裝
case $ANSWER in Y|y ) ECHO_INFO "Use config file: ${IREDMAIL_CONFIG_FILE} for mail server setting." . ${IREDMAIL_CONFIG_FILE} # Check installation status. # After each component installation was completed, there # should be a variable in ${STATUS_FILE}, e.g. # # export STATUS_php_INSTALLATION='DONE' # export STATUS_PHP_CONFIGURATION='DONE' #
#判斷狀態(tài)文件是否存在,如果存在則讀取狀態(tài)文件
if [ -f ${STATUS_FILE} ]; then ECHO_INFO "Import installation process status from file: ${STATUS_FILE}." . ${STATUS_FILE} else echo '' > ${STATUS_FILE} fi # Initialize tip file.
#tip文件是安裝完成后的一些賬號(hào)密碼文件,此處初始化該文件
if [ ! -f ${TIP_FILE} ]; then cat > ${TIP_FILE} <<EOF${CONF_MSG}EOF fi ;; N|n|* ) ECHO_INFO "Skip configuration file: ${IREDMAIL_CONFIG_FILE}."
#新的安裝,CONFIG_VIA_DIALOG在conf/global中定義,他的值是
#export CONFIG_VIA_DIALOG="${DIALOG_DIR}/config_via_dialog.sh" 執(zhí)行窗口安裝程序,開(kāi)始新的安裝 . ${CONFIG_VIA_DIALOG} ;; esac else ECHO_INFO "Found, but not finished." . ${CONFIG_VIA_DIALOG} fi else ECHO_INFO "[NOT FOUND]" . ${CONFIG_VIA_DIALOG} fi check_runtime_dir}
新聞熱點(diǎn)
疑難解答
圖片精選