Shell_脚本语言02

代码段1
a=${1}
b=${2}
num=`expr $b - $a`#这里赋值等号两遍不能有空格很蛋疼
echo "haha + $num"
if  [ `echo $num | awk -v bi=101 '{print($1>bi)?"1":"0"}'` -eq "1" ]   # [ $num -gt 99 ]
then
echo b-a大于101
else
echo b-a小于101
fi
代码段2
a=${1}
b=${2}
num=99
c=`expr $b - $a`
echo "查看两个数的差值 + $c"
if [ $c -gt $num ];
then
echo b-a大于99
else if [ $c -lt $num ];
then
echo b-a小于99
else
echo b-a等99
fi
fi
代码段3
a=${1}
b=${2}
num=`expr $b - $a`#这里赋值不能有空格很蛋疼
echo "haha + $num"
if  [ `echo $num | awk -v bi=99 '{print($1>bi)?"1":"0"}'` -eq "1" ];
then
echo b-a大于99
else if [ `echo $num | awk -v bi=99 '{print($1<bi)?"1":"0"}'` -eq "1" ];
then
echo b-a小于99
else
echo b-a等99
fi
fi

 

代码段1,代码段2都能实现判断两个数字的大小,但是3无法正确判断,在这里记录一下,以后找到原因在更新。

关系运算符表格整理

运算符

解释

变量量

案例例

-eq

检测两个数是否相等,相等返回 true

a = 1 b = 2;

[ $a -eq $b ] 返回 false

-ne

检测两个数是否相等,不不相等返回 true

a = 1 b = 2;

[ $a -ne $b ] 返回 true

-gt

检测左边的数是否⼤大于右边的,如果是,则返回 true

a = 1 b = 2;

[ $a -gt $b ] 返回 false

-lt

检测左边的数是否⼩小于右边的,如果是,则返回 true

a = 1 b = 2;

[ $a -lt $b ] 返回 true

-ge

检测左边的数是否⼤大于等于右边的,如果是,则返回 true

a = 1 b = 2;

[ $a -ge $b ] 返回 false

-le

检测左边的数是否⼩小于等于右边的,如果是,则返回 true

a = 1 b = 2;

[ $a -le $b ] 返回 true

 布尔运算符表格整理

运算符

解释

变量量

案例例

!

⾮非运算,表达式为 true 则返回 false,否则返回 true

a = 1 b = 2;

[ $a != $b ] 返回 true

-o

或运算,有⼀一个表达式为 true 则返回 true

a = 1 b = 2;

[ $a -lt 20 -o $b -gt 100 ] 返回 true

-a

与运算,两个表达式都为 true 才返回 true

a = 1 b = 2;

[ $a -lt 20 -a $b -gt 100 ] 返回 false

逻辑运算符表格整理

运算符

解释

变量量

案例例

&&

逻辑的 AND

a = 1 b = 2;

[ $a -lt 100 ] && [ $b -gt 100 ] 返回 false

||

逻辑的 OR

a = 1 b = 2;

[ $a -lt 100 ]  || [  $b -gt 100 ] 返回 true

字符串运算符表格整理

运算符

解释

变量量

案例例

!=

检测两个字符串串是否相等,不不相等返回 true。

a = 1 b = 2;

[ $a != $b ] 返回 true

-z

检测字符串串⻓长度是否为0,为0返回 true

a = 1 b = 2;

[ -z $a ] 返回 false

-n

检测字符串串⻓长度是否为0,不不为0返回 true

a = 1 b = 2;

[ -n $a ] 返回 true

str

检测字符串串是否为空,不不为空返回 true

a = 1 b = 2;

[ $a ] 返回 true

文件测试运算符表格整理

运算符

解释

变量量

案例例

-d file

检测⽂文件是否是⽬目录,如果是,则返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -d $file ] 返回 false

-r file

检测⽂文件是否可读,如果是,则返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -r $file ] 返回 true

-w file

检测⽂文件是否可写,如果是,则返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -w $file ] 返回 true

-x file

检测⽂文件是否可执⾏行行,如果是,则返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -x $file ] 返回 true

-f file

检测⽂文件是否是普通⽂文件(既不不是⽬目录,也不不是设备⽂文 件),如果是,则返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -f $file ] 返回 true

-s file

检测⽂文件是否为空(⽂文件⼤大⼩小是否⼤大于0),不不为空返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -s $file ] 返回 true

-e file

检测⽂文件(包括⽬目录)是否存在,如果是,则返回 true

file="/Users/CX_M/Desktop/hello.sh"

[ -e $file ] 返回 true

命令状态表格整理

状态码

描述

0

命令成功执⾏行行

1

⼀一般性的未知错误

2

不不适合的shell命令

126

命令不不可执⾏行行

127

没找到命令

130

通过Ctrl+C终⽌止的命令

255

正常范围之内的推出状态码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值