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. 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} ;; esac else ECHO_INFO "Found, but not finished." . ${CONFIG_VIA_DIALOG} fi else ECHO_INFO "[NOT FOUND]" . ${CONFIG_VIA_DIALOG} fi check_runtime_dir }