一、if条件语句的使用格式:

1、单分支语句

if [ 条件 ];then
  执行语句
fi

注意:[ 条件 ] :条件与中括号要用空格分割;下面的语句同理。

2、双分支语句

if [ 条件 ];then
  执行语句1
else
  执行语句2
fi

3、多分支语句

if [ 条件 ];then
  执行语句1
elif;then
  执行语句2
elif;then
  执行语句3
else
  执行语句4
fi

退出码: exit

  在某些条件判断下,如果不满足该条件,我们必须手动退出程序,否则后面的代码无法执行;

  代码正确执行完成后,指定 exit 0 为正确退出码;

  代码执行错误时,指定 exit 0-255 之间任意一个数值表示错误退出。

练习:

1、给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”

#!/bin/bash
#
read -t -p ("请输入一个文件:") filename # -t 等待时间5秒不输入自动退出
if [ -n $filename ];then
echo # 默认用来换行
echo "eg. /etc/fstab"
exit
fi if [ -f $filename ]; then
echo "$filename 是一个普通文件"
exit
elif [ -d $filename ];then
echo "$filename 是一个目录文件"
exit
else
echo "无法识别"
exit
fi

2、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多少个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】

#!/bin/bash
# 判断用户的默认shell程序类型 declare -i sum=`grep "bin/bash$" /etc/passwd | wc -l` #定义一个数值型变量sum if grep "/bin/bash$" /etc/passwd &> /dev/null ; then
  echo "存在 $sum 个用户,shell程序为/bin/bash"
  grep "/bin/bash$" /etc/passwd | cut -d: -f1
  exit
else
  echo "没有这类用户"
  exit
fi

3、判断某个文件是否存在

#!/bin/bash
# 判断文件是否存在
if [ $# -lt ]; then
  echo "至少需要输入一个传参."
  exit
fi if [ -e $ ];then
  echo "存在"
else
  echo "不存在"
fi

二、case语句

1、case语句语法格式:

case 变量 in
PATTEN1) # PATTERN支持文件统配符
代码块1
;;
PATTEN2)
代码块2
;;
*)
默认执行语句
;;
esac

2、练习

read -p 'Input a number:' Num
case $Num in
   )  echo 'You select 1'
  ;;
   )  echo 'You select 2'
  ;;
   )  echo 'You select 3'
  ;;
   |)  echo 'You select 4 or 5'
  ;;
  *)  echo 'default'
  ;;
esac

最新文章

  1. JTree实现好友列表
  2. css3 transform动画效果与公司框架简易动画的差异
  3. ARM堆栈及特殊指令
  4. HDOJ2025查找最大元素
  5. Shell 流程控制-if for case while until break continue
  6. Java三大修饰符
  7. docker 保存 加载(导入 导出镜像
  8. CentOS7服务去Nginx使用-安装
  9. 常见压缩格式分析,及 Linux 下的压缩相关指令
  10. 不带parent指针的successor求解
  11. 64位win7连接ACCESS报错“Microsoft.Jet.OLEDB.4.0”问题
  12. 菜鸟Vue学习笔记(一)
  13. laravel 路由分組
  14. 【个人阅读】M1/M2阶段总结
  15. mysql原理~undo管理
  16. DEV获取GridControl当前行
  17. 在docker 容器中安装命令
  18. ubuntu mysql主从库的搭建
  19. Visual Format Language(VFL)视图约束
  20. oracle RMAN复制数据库

热门文章

  1. ~~Py2&Py3~~
  2. Loadrunner基本概念解析<一>
  3. Java零基础个人学习路线总结
  4. TensorFlow笔记-图片读取
  5. SpringBoot第二十二篇:应用监控之Actuator
  6. C-哈夫曼编码
  7. Python在office开发中的应用
  8. 从微信小程序开发者工具源码看实现原理(四)- - 自适应布局
  9. C#编程之自动实现的属性
  10. Java之JDBC 通过加载properties配置文件连接数据库