UNIX/Linux shell脚本 if语句的几个案例(适合Linux初学者)
2012-12-05 12:57
811 查看
小诺技术博客新地址: www.rsyslog.org ,欢迎前来访问!
if语法:
1、单分支的if语句
if 条件测试命令
then
命令序列
fi
2、双分支的if语句
if 条件测试命令
then
命令序列1
else
命令序列2
fi
3、多分支的if语句(elif 可以嵌套多个,一般多了用case表达)
if 条件测试命令1
then
命令序列1
elif 条件测试命令2
then
命令序列2
.........
else
命令序列n
fi
案例1、
#!/bin/bash
#######################################################################
# "提示用户指定备份目录的路径,若目录存在则显示信息跳过,否则显示相应提示信息,并创建该目录"
# "-----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com"
######################################################################
read -p "What is your backup directoy:" BakDir
if [ -d $BakDir ]; then
echo "$BakDir already exist."
else
echo "$BakDir is not exist, will make it."
mkdir $BakDir
fi
本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173
案例2、
#!/bin/bash
#######################################################################
#统计当前登录到系统中的用户数量,若判断是否超过三个,若是则显示实际数量并给出警告信息,否则列出
登录的用户账户名称及所在终端
# "-----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com"
######################################################################
UserNum=`who | wc -l`
if [ $UserNum -gt 3 ]; then
echo "Alert, too many login users ( Total: $UserNum)."
else
echo "Login Users:"
who | awk `{print $1,$2}`
fi
本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173
诺技术博客新地址: www.rsyslog.org ,欢迎前来访问!
案例3、
#!/bin/bash
#######################################################################
#每隔5分钟检测一次 mysql服务进程的运行状态,若发现mysql进程已经终止,则在"/var/log/messages"文件中追加写入日志信息(包括当时时间)并重启httpd服务;否则不做任何操作
# -----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com
######################################################################
service httpd status &> /dev/null
if [ $? -ne 0 ] ; then
echo "At time:$(date):Http Server is down." >> /var/log/messages
/etc/rc.d/init.d/httpd start
fi
# crontab -e
#*/5 * * * * /data/shell.sh/chkdhcpd.sh
本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173
案例4、
#!/bin/bash
#######################################################################
# 检查portmap进程是否已经存在,若已经存在则输出 "Portmap service is running.";否则检查是否存在"/etc/rc.d/init.d/portmap"可执行脚本,存在则启动portmap服务,否则提示"no portmap script files"
# -----Designed by UNIX.ROOT Email: UNIX.ROOT@hotmail.com
######################################################################
pgrep portmap &> /dev/null
if [ $? -eq 0 ] ; then
echo "Protmap service is running."
elif [ -x "/etc/rc.d/init.d/portmap" ]; then
/etc/rc.d/init.d/portmap start
else
echo "no portmap script files."
fi
诺技术博客新地址: www.rsyslog.org ,欢迎前来访问!
本文出自 “UNIX/Linux Discovery” 博客,请务必保留此出处http://dreamfire.blog.51cto.com/418026/1079173
相关文章推荐
- shell脚本if和switch语句编写案例
- linux之基础shell脚本编程2 if语句循环判断
- Linux的Shell脚本中IF流程控制语句的基本语法
- Linux-shell脚本-if语句/case语句
- shell脚本中在if语句中比较空串而出现的问题line 5: [: =: unary operator expected
- Unix/Linux Shell脚本入门实例[00原创]
- Linux学习之shell脚本——条件语句与循环语句
- shell脚本不使用if语句进行选择的脚本
- Shell脚本应用(五)if语句
- C++中的if选择语句的解析【适合初学者】
- [Linux学习]Shell脚本(1)--函数,输入,if判断(持续更新)+删除空行 +保存当前路径
- Linux/Unix实现自动ftp的shell脚本
- shell 脚本 if 语句
- shell脚本 - 学习if语句和变量赋值
- 《shell脚本if..then..elif..then.if语句的总结》
- 【Unix/Linux.Shell Script】Shell Script程序的流程控制语句
- shell 脚本之if、for、while语句
- linux的shell脚本中的逻辑判断、文件目录属性判断、if特殊用法、case判断
- 简易登录,批量执行命令,批量copy文件shell脚本【Linux运维之道之脚本案例】 推荐
- 对shell脚本里if语句的一点剖析