Shell编程学习之if分支语句的应用

if分支语句

Shell编程中的if分支语句:

伪代码表示:

  • 注意符号和表达式之间的空格;
if [ 表达式1 ]
then
     分支1
elif [ 表达式2 ]
then
     分支2
elif [ 表达式3 ]
then
     分支3
else
     其它
fi

按整型的方式,if分支语句比较字符串的大小:

  • 等于:-eq
  • 不等于:-ne
  • 小于:-lt
  • 大于:-gt
  • 小于等于:-le
  • 大于等于:-ge
  • 方括号[ ]内部逻辑与运算:-a
  • 方括号[ ]外部逻辑与运算:&&
  • 方括号[ ]内部逻辑或运算:-o
  • 方括号[ ]外部逻辑或运算:||
  • 逻辑非运算:!

测试代码:

#!/bin/bash

read -p "请输入数值1:" X
read -p "请输入数值2:" Y

if [ $X -gt 0 ] && [ $Y -gt 0 ]
then

	echo "两个大于0的数值"
	if [ $X -eq $Y ]
	then
	   echo "$X等于$Y"

	elif [ $X -gt $Y ]
	then
	   echo "$X大于$Y"

	else
	   echo "$X小于$Y"

	fi 

else
	echo "两个小于或着等于0的数值"
fi

运行结果:

#第一次运行
请输入数值1:88
请输入数值2:99
两个大于0的数值
88小于99
#第二次运行
请输入数值1:99
请输入数值2:99
两个大于0的数值
99等于99
#第三次运行
请输入数值1:99
请输入数值2:88
两个大于0的数值
99大于88
#第四次运行
请输入数值1:-88
请输入数值2:-99
两个小于或着等于0的数值

if分支语句判断文件的类型:

  • 判断文件是否存在:-e
  • 判断文件是否非空:-s
  • 判断文件是否是块设备文件:-b
  • 判断文件是否是套接字文件:-S
  • 判断文件是否是管道文件:-p
  • 判断文件是否是普通文件:-f
  • 判断文件是否是链接文件:-L
  • 判断文件是否是字符设备文件:-c
  • 判断文件是否是目录文件:-d

特别注意:

  • 判断文件类型时,若文件既是链接文件,又是普通文件时,优先判断链接文件;

测试代码:

#!/bin/bash

read -p "请输入某文件名称:" FE

if [ -e $FE ]
then
	echo "该文件存在"
	if [ -s $FE ]
	then
		ech
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值