check_env函數解析,check_env解析
又是一個比較長的函數,是用來檢查檔案許可權,目錄條件的。具體代碼如下:
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}