比较:
计算:方法一: if [ ${A} -lt ${B} ]; then ... 这是最基本的比较方法,使用lt(小于),gt(大于),le(小于等于),ge(大于等于),优点:还没发现;缺点:只能比较整数,使用lt,gt等不直观 方法二: if ((${A} < ${B})) then ... 这是CShell风格比较,优点:不用使用lt,gt等难记的字符串;缺点:还是只能比较整数 方法三: if (echo ${A} ${B} | awk '!($1>$2){exit 1}') then ... 这是使用awk比较,优点:可以比较小数;缺点:表达式太复杂,难记 方法四: if (echo ${A} - ${B} | bc -q | grep -q "^-"); then ... 这是使用bc计算比较,优点:可以比较小数;缺点:表达式更复杂,难记 方法一:typeset C=$(expr ${A} + ${B}); SHELL中的基本工具,优点:方便检测变量是否为数字;缺点:只能计算整数,且只能计算加减法,不能计算乘除法 方法二:let "C=${A}+${B}"; 或 let "C=A+B" 内嵌命令计算,优点:能计算乘除法及位运算等;缺点:只能计算整数 方法三:typeset C=$((A+B)) CShell风格的计算,优点:能计算乘除法及位运算等,简介,编写方便;缺点:不能计算小数 方法四:typeset C=${echo ${A} ${B} | awk '{print $1+$2}') 使用awk计算,优点:能计算小数,可以实现多种计算方式,计算灵活;缺点:表达式太复杂 方法五:typeset C=${echo ${A} + ${B} | bc -q) 使用awk计算,优点:能计算小数,计算方式比awk还多,计算灵活;缺点:表达式太复杂,小数点后面的位数必须使用scale=N来设置,否则可能会将结果截断为整数 |