shell study-8day--shell流程控制过程及实例

1、流程控制过程
(1)格式一

if [ 条件判断一 ] && (||) [ 条件判断二 ]; then
命令一
elif [ 条件判断三 ] && (||) [ 条件判断四 ]; then
命令二 
else
执行其它
fi

(2)格式二

if [条件判断一 -a (-o) 条件判断二 -a (-o) 条件判断三]; then
elif [条件判断三 -a (-o) 条件判断四 ]; then
else
执行其它
fi

(3)格式三

if [[条件判断一 && (||) 条件判断二 ]]; then
elif [[ 条件判断三 && (||) 条件判断四 ]]; then
else
执行其它
fi

2、shell实例
(1)判断文件类型
[root@test shell]# cat file-check.sh

#!/bin/bash
read -p "请输入一个文件名:" file #接收键盘输入并赋予变量 file。
if [ -z "$file" ] #判断 file 变量是否为空。
then
echo "请输入一个文件名" #如果为空,输出报错信息。
elif [ ! -e "$file" ] #判断 file 的值是否存在。
then
echo "你输入的文件不存在" #如果不存在,输出此信息。
elif [ -f "$file" ] #判断 file 的值是否为普通文件。
then
echo "$file 是一个普通文件" #如果是普通文件输出此信息。
elif [ -d "$file" ] #判断 file 是否是目录文件。
then
echo "$fiel是一个目录" #如果是目录文件输出此信息。
else #如果都不是则执行本程序。
echo "$file是其他文件" #都不是的话输出此信息。
fi
[root@test shell]# sh file-check.sh 
请输入文件名称:file-check.sh
file-check.sh 是一个普通文件
[root@test shell]# 

(2)判断学生成绩优劣

[root@test ~]# cat cj-check.sh 
#!/bin/bash
read -p "请输入考试成绩:" cj
if [ $cj -ge 0 ] && [ $cj -le 59 ];then
        echo "差"
elif [ $cj -ge 60 ] && [ $cj -le 70 ]; then
        echo "中"
elif [ $cj -ge 71 ] && [ $cj -le 85 ]; then
        echo "良"
elif [ $cj -ge 86 ] && [ $cj -le 100 ]; then
        echo "优"
else
        echo "成绩有效范围0-100"
fi
[root@test ~]# sh cj-check.sh 
请输入考试成绩:85    
良
[root@test ~]# 

(3)mysql备份

[root@test ~]# vim mysqlbak.sh
#!/bin/bash
baknamefile=`date +%Y-%m-%d`
bakdir=/mysqlbak
user=root
password=123
dbname=webdb
[ -e $bakdir ] || mkdir $bakdir
mysqldump -u$user -p$password --flush-logs $dbname >
$bakdir/${baknamefile}-webdb.sql
[root@test ~]# crontab -e
0 3 * * * /root/etcbak.sh 2>&1 > /dev/null

个人公众号,微信搜索:linux言叙
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值