linux应用编程shell基础(二)--运算符

一、介绍
shell是一个脚本语言,就是命令行的命令自定义成自己的脚本
编写的时候以sh为后缀名
执行./或者sh 文件名

二、算术运算符
用于数字的关系运算符
-eq 相等 [ $a -eq $b ] 返回 false。
-ne 不相等 [ $a -ne $b ] 返回 true。
-gt 大于 [ $a -gt $b ] 返回 false。
-lt 小于 [ $a -lt $b ] 返回 true。
-ge 大于 [ $a -ge $b ] 返回 false。
-le 小于等于 [ $a -le $b ] 返回 true。
! 非运算 [ ! false ] 返回 true。
-o 或运算 [ $a -lt 20 -o $b -gt 100 ] 返回 true。
-a 与运算 [ $a -lt 20 -a $b -gt 100 ] 返回 false。

a=100
b=50
str=("a+b=" "a-b=" "axb=" "a/b=" "a%b=")
val[0]=`expr $a + $b`
val[1]=`expr $a - $b`
val[2]=`expr $a \* $b`
val[3]=`expr $a / $b`
val[4]=`expr $a % $b`
echo "${str[0]} ${val[0]}"
echo "${str[1]} ${val[1]}"
echo "${str[2]} ${val[2]}"
echo "${str[3]} ${val[3]}"
echo "${str[4]} ${val[4]}"
if [ $a == $b ] 
then
	echo "a = b"
fi
if [ $a != $b ] 
then
	echo "a != b"
fi

在这里插入图片描述
三、逻辑运算
&& 逻辑的 AND [[ $a -lt 100 && $b -gt 100 ]] 返回 false
|| 逻辑的 OR [[ $a -lt 100 || $b -gt 100 ]] 返回 true

a=100
b=50

if [[ $a -lt 100 && $b -gt 80 ]]
then
	echo "ok"
else
	echo "no"
fi

在这里插入图片描述
四、字符串运算
= 相等 [ $a = $b ] 返回 false。
!= 不相等 [ $a != $b ] 返回 true。
-z 长度是否为0 [ -z a ] 返 回 f a l s e 。 − n 长 度 是 否 不 为 0 [ − n " a ] 返回 false。 -n 长度是否不为 0 [ -n " a]falsen0[n"a" ] 返回 true。
$ 否为空 [ $a ] 返回 true。

a="hello"
b="guoguo"

if [ $a = $b ]
then
	echo "a = b"
else
	echo "a != b" 
fi

if [ $a != $b ]
then
	echo "a != b"
else
	echo "a = b" 
fi

if [ -z $a ]
then
	echo "a = empty"
else
	echo "a len > 0" 
fi

if [ -n $b ]
then
	echo "b len > 0"
else
	echo "b = empty" 
fi
if [ $a ]
then
	echo "a tmpty"
else
	echo "a not empty" 
fi

在这里插入图片描述
五、文件测试运算符
1、文件类型
-b file 是否是块设备文件 [ -b $file ] 返回 false。
-c file 是否是字符设备文件 [ -c $file ] 返回 false。
-S: 判断某文件是否 socket
-d file 是否是目录 [ -d $file ] 返回 false。
-f file 是否是普通文件 [ -f $file ] 返回 true。
-p file 是否是有名管道 [ -p $file ] 返回 false。

2、标志位
-g file 检测文件是否设置了 SGID 位,如果是,则返回 true。 [ -g $file ] 返回 false。
-k file 检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。 [ -k $file ] 返回 false。
-u file 检测文件是否设置了 SUID 位,如果是,则返回 true。 [ -u $file ] 返回 false。

3、权限
-r file 可读 [ -r $file ] 返回 true。
-w file 可写 [ -w $file ] 返回 true。
-x file 可执行 [ -x $file ] 返回 true。
-s file 是否为空(文件大小是否大于0 [ -s $file ] 返回 true。
-e file 是否存在 [ -e $file ] 返回 true。

4、其他
-L: 是否存在并且是一个符号链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值