iredmail安装脚本分析(一)---iRedmail.sh



iredmail是一套以postfix为核心的整合邮件系统的安装脚本,可以达到快速部署邮件服务器的目的。为了让自己不遗忘shell的语法,所以闲来无事,学习一下他的代码。

我从官网下载他的最新版,解压后,结构如下:

iRedMail.sh  是开始安装的启动文件,执行bash iRedMail.sh 后就开始安装,我们从这个文件看起。

tmprootdir="$(dirname $0)"
 
dirname的用法是:
 
(1)  带全路径的,例:[email protected]:~> dirname /home/aguo/insert.sql          /home/aguo #获得文件所在目录
 
(2)  仅仅是文件名的,例:[email protected]:~> dirname Environment 

.   表示路径就是当前目录

$0 在shell中的意思是当前执行脚本的名称

$() 在shell中起到命令替换的作用,这样tmprootdir的值就为当前执行脚本的目录,在下面要对此目录进行判断

一个命令涉及了3个知识点,看来学习还是能加深印象的。

第二个命令如下:

echo ${tmprootdir} | grep ‘^/‘ >/dev/null 2>&1
时间: 2024-10-13 12:39:13

iredmail安装脚本分析(一)---iRedmail.sh的相关文章

iredmail安装脚本分析(三)---conf/global DISTRO值的来源及操作系统的判断

作者在引入conf/global 文件时,就已经对操作系统的类型进行判断,同时也对DISTRO进行了赋值. 部分代码,如图: 显然文件里的KERNEL_NAME的值就是判断完成的操作系统,具体分析该值是如何得到的. 就是通过命令"uname –s  | tr '[a-z]' '[A-Z]'得到的,不过作者在此处把小写换成了大写. 接下来分析根据不同操作系统,怎么获得不同的DISTRO值,代码如下: if [ X"${KERNEL_NAME}" == X'LINUX' ]; t

Hadoop的shell脚本分析

你会发现hadoop-daemon.sh用于启动单独的本机节点 而hadoop-daemons.sh 会批量的ssh到别的机器启动 前记: 这些天一直学习hadoop,学习中也遇到了许多的问题,主要是对hadoop的shell脚本和hadoop的源码概念不够清楚,所以我就对hadoop的bin目录下的shell脚本进行了研究,有一些成果想记录下来,也希望大家前来批评指正. 分析原因: 很多hadoop的初学者对hadoop的脚本不是很清楚,不知道为什么可以在命令行中启动hadoop,也不知道为什

单实例数据库安装脚本

安装脚本 1.1_preusers.sh #!/bin/bash #Purpose:Create 3 groups named 'oinstall','dba','oper', plus 1 users named 'oracle'. #Also setting the Environment #variable for oracle user. #Usage:Log on as the superuser('root'),and then execute the command:#./1pre

hadoop启动脚本分析及常见命令

进程------------------ [hdfs]start-dfs.sh NameNode NN DataNode DN SecondaryNamenode 2NN [yarn]start-yarn.sh ResourceMananger RM NodeManager NM 脚本分析------------------- sbin/start-all.sh -------------- libexec/hadoop-config.sh start-dfs.sh start-yarn.sh

python3自动安装脚本,python3.x与python2.x共存

1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且安装模式为python3.x与python2.x共存,防止可能发生原有环境异常的情况. 现在我把脚本分享出来,希望可以帮助到有需要的人,业务采集监控python脚本文件不提供,因为那些跟实际业务开发关联比较紧,比较没有参考意义也不方便公开. shell自动安装脚本,只需按说明简单修改配置,和调用集成

iredmail安装

2.  基础知识发邮件协议:smtp(Simple Mail Transfer Protocol) 端口25 收邮件协议:pop3(Post Office Protocol 3 ) 端口110收邮件协议:imap, 优于pop3,可以根据用户需求指定下载删除邮件,而不是下载全部,端口143 MTA: mail transfer agent 邮件传输代理,发邮件的(sendmail,postfix)MRA: mail retravial agent 邮件检索代理,收邮件(dovecot)MDA:

mongodb安装脚本/启动脚本/配置文件

安装脚本 #!/bin/bash  #author: QingFeng #qq: 530035210 #blog: http://my.oschina.net/pwd/blog  #自动安装mongodb和初始化配置 #缺省的配置如下   logdir=/data/log/shell          #日志路径 log=$logdir/shell.log            #日志文件  is_font=1                #终端是否打印日志: 1打印 0不打印  is_log

wdcp的环境搭建shell脚本分析--lanmp.sh---lib/common.conf

#分析文件lanmp.sh,在其头部引入了一系列的函数文件 . lib/common.conf . lib/common.sh . lib/mysql.sh . lib/apache.sh . lib/nginx.sh . lib/php.sh . lib/na.sh . lib/libiconv.sh . lib/eaccelerator.sh . lib/zend.sh . lib/pureftp.sh . lib/pcre.sh . lib/webconf.sh . lib/service

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys