shell编程 if语句

今天开始学习shell编程,通过看书,练习了几个基本的小例子,下面总结一些知识点分享给大家

if 语句包括 字符串测试,文件测试,数字测试

基本的语法为

if test command

then

********

else

********

fi


if  [ command ]

then

********

else

********

fi


test的用法等价于[ ]

例如:if test "hello" = "HELLO" 与 if  [ "hello" = "HELLO" ] 等价

注意:[ 与 "hello" 与 = 与 "hello" 与 ] 之间存在 空格

1, 下面举上一个字符串测试的小例子

#字符串比较
#!/bin/bash
if [ "Hello" = "HELLO" ]
then
	echo "Hello" == "HELLOHELLO"
else
	echo "Hello" != "HELLO"
fi

if [ "HELL0" = "HELL0" ]
then
	echo "HELL0" == "HELLO"
else
	echo "HELL0" != "HELLO"
fi

-z 代表字符串为空

-n 代表字符串大于0


2, 下面的为文件测试的小例子,前提:在脚本运行的目录下新建一个file_test文件,然后运行脚本文件进行测试


# shell_if_file 文件测试
#!/bin/bash

#判断是否有可执行权限
if [ -x ./file_test ]
then
	echo "is -x"
else
	echo "isn't -x"
fi

#判断是否为普通文件
if [ -f ./file_test ]
then
	echo "is general"
else
	echo "isn't general"
fi
其中: -x 是判断是否有可执行权限, -f 是判断是否为普通文件


3, 下面为数字测试的小例子, -eq代表相等, -ne代表不等, -lt 代表小于, -le 代表小于等于,  -gt 代表大于, -ge 代表大于等于


# shell_if_number 数字比较
#!/bin/bash

echo "please input number1:"
read number1

echo "please input number2"
read number2

#判断相等
if test "$number1" -eq "$number2"
then 
	echo "number1 == number2"
else
	echo "number1 != number2"
fi


echo "please input number1:"
read number1

echo "please input number2"
read number2

#判断不等
if test "$number1" -ne "$number2"
then 
	echo "number1 != number2"
else
	echo "number1 == number2"
fi

echo "please input number1:"
read number1

echo "please input number2"
read number2

#小于
if test "$number1" -lt "$number2"
then 
	echo "number1 < number2"
else
	echo "number1 isn't < number2"
fi

echo "please input number1:"
read number1

echo "please input number2"
read number2

#小于等于
if test "$number1" -le "$number2"
then 
	echo "number1 <= number2"
else
	echo "number1 isn't <= number2"
fi

echo "please input number1:"
read number1

echo "please input number2"
read number2

#大于
if test "$number1" -gt "$number2"
then 
	echo "number1 > number2"
else
	echo "number1 isn't > number2"
fi

echo "please input number1:"
read number1

echo "please input number2"
read number2

#大于等于
if test "$number1" -ge "$number2"
then 
	echo "number1 >= number2"
else
	echo "number1 isn't >= number2"
fi





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值