又是一个比较长的函数,是用来检查文件权限,目录条件的。具体代码如下:

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
}

check_env函数解析的更多相关文章

  1. [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")

    javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢?   原因在于: ...

  2. PHP json_decode 函数解析 json 结果为 NULL 的解决方法

    在做网站 CMS 模块时,对于模块内容 content 字段,保存的是 json 格式的字符串,所以在后台进行模块内容的编辑操作 ( 取出保存的数据 ) 时,需要用到 json_decode() 函数 ...

  3. Matlab中bsxfun和unique函数解析

    一.问题来源 来自于一份LSH代码,记录下来. 二.函数解析 2.1 bsxfun bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-b ...

  4. socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

  5. sigaction函数解析

    http://blog.chinaunix.net/uid-1877180-id-3011232.html sigaction函数解析  sigaction函数的功能是检查或修改与指定信号相关联的处理 ...

  6. driver_register()函数解析

    driver_register()函数解析 /** * driver_register - register driver with bus * @drv: driver to register *  ...

  7. async函数解析

    转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解 ...

  8. tf.train.shuffle_batch函数解析

    tf.train.shuffle_batch (tensor_list, batch_size, capacity, min_after_dequeue, num_threads=1, seed=No ...

  9. oracle中next_day()、last_day()函数解析

    oracle中next_day()函数解析 Sql代码 当前系统时间的下一星期一的时间select   next_day(sysdate,1) from dual NEXT_DAY(date,char ...

随机推荐

  1. org.apache.catalina.webresources.Cache.getResource Unable to add the resource

    org.apache.catalina.webresources.Cache.getResource Unable to add the resource at xxx to the cache be ...

  2. solr索引服务器的配置和solrj集成开发总结

    一.环境:solr6.2 + jdk1.8 + tomcat8   (solr不同版本需要最低的环境不同) solr6 需要至少jdk1.8   .对应的solr5+jdk1.7+tomcat7 实测 ...

  3. 使用VisualVM进行性能分析及调优(转)

    VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...

  4. 字符串匹配的KMP算法

    ~~~摘录 来源:阮一峰~~~ 字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”? 许 ...

  5. python网络编程【三】(网络服务器)

    建立一个服务器需要以下4步: 1.建立socket对象. 2.设置socket选项(可选的) 3.绑定到一个端口(同样,也可以是一个指定的网卡). 4.侦听连接. 下面代码片段可以实现这些功能: ho ...

  6. 关于DMA和它的仇家

    [基础知识]什么叫做DMA?DMA=Direct Memory Access.这是一种通过硬件实现的数据传输机制.简单的说,就是不在CPU的参与下完成数据的传输.[/基础知识]不太明白?我举个简单的例 ...

  7. BOOL和bool的区别

    一. 1.类型不同 BOOL为int型 bool为布尔型 2.长度不同 bool只有一个字节 BOOL长度视实际环境来定,一般可认为是4个字节 3.取值不同 bool取值false和true,是0和1 ...

  8. 配置 vim

    cd / vim /etc/vim/vimrc 1.Ubuntu vim显示行号 在文件末端添加一新行,输入 set nu 2.Ubuntu vim语法高亮 在文件中找到 "syntax o ...

  9. 常用CSS样式

    1.line-height:行高.默认normal normal:允许内容顶开或溢出制定的容器边界; length:15px,可以为负数; ... 2.overflow:滚动条设置 overflow- ...

  10. 7月07日——[HouseStark] 团队简介

    团队名称 HouseStark 团队口号 winter's coming,fire's on! full of passion,we are young! pick the code, with th ...