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