代码段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 |
正常范围之内的推出状态码 |
508

被折叠的 条评论
为什么被折叠?



