shell 脚本 数字型值处理

1月 10, 2017 |

如下的示例:

#/bin/sh
declare -i a=2;
declare -i b=3;
if [ $a -lt $b ];then
#"[ $a < $b ];"
echo "it works"
else
echo "not work"
fi

c=$(($a>$b?$a:$b))
echo "c="$c

d=$(($a>$b))
echo "d="$d

declare -i e=$a+$b
echo "e="$e

输出为:

it works
c=3
d=0
e=5

声明数值型变量使用let 或者declare -i 。
在比较数值型表达式(test或者'[ ]')时,只能用"-eq, -ne, -lt, -le, -gt’, -ge",不能用"==, !=, <, <=, >, >=",不然按照字符串的字典顺序比较。
使用$((express))进行数值运算
虽然可以直接进行数值型的"+"加操作,由于数值型"==, !=, <, <=, >, >="无法直接进行,最好不要直接进行"e=$a+$b"这样的数据操作

Posted in: Linux

Comments are closed.