又是一個比較長的函數,是用來檢查文件權限,目錄條件的。具體代碼如下:
check_env(){ # Check user PRivilege. #檢查用戶權限
check_user root # Check FQDN hostname.
#檢查主機名是否符合規則 check_hostname # Check config tool: dialog.
#檢查配置工具dialog是否存在 check_pkg ${BIN_DIALOG} ${PKG_DIALOG} ECHO_INFO -n "Checking configuration file: ${IREDMAIL_CONFIG_FILE} ..." #判斷配置文件是否存在,默認的安裝包下是沒有的,應該是用于安裝中斷后,恢復安裝的。
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]"
#讀取已經存在的配置文件
read_setting ${AUTO_USE_EXISTING_CONFIG_FILE}
#給用戶一個選擇,是用已經存在的配置文件,還是重新安裝
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' #
#判斷狀態文件是否存在,如果存在則讀取狀態文件
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文件是安裝完成后的一些賬號密碼文件,此處初始化該文件
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" 執行窗口安裝程序,開始新的安裝 . ${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}
新聞熱點
疑難解答