shell笔记
一:exit(0)与exit(1)、return区别
exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。
return返回函数值,是关键字,它表示了调用堆栈的返回,退出函数。
二:数学运算
简单运算:let,[ ],(( ))
高级运算:expr,bc
1、let
let是bash内置命令,可以实现简单的算术运算和逻辑运算
#!/bin/bash i=10 echo $i let a=i+100 echo "a="$a let b=$i+100 echo "b="$b 》10 》a=110 》b=110
2.[ ]
#!/bin/bash i=10 echo $i a=$[i+100] echo "a="$a b=$[$i+100] echo "b="$b 》10 》a=110 》b=110
3.(( ))
#!/bin/bash i=10 echo $i a=$((i+100)) echo "a="$a b=$(($i+100)) echo "b="$b 》10 》a=110 》b=110
4.expr
#!/bin/bash i=10 echo $i #变量和运算符之间没有空格 a=`expr $i+100` echo "a="$a #当变量和运算符有空格 b=`expr $i + 100` echo "b="$b 》10 》a=10+100 》b=110
5.bc
bc
命令是一个支持精确的浮点运算的高级计算器,支持数学函数调用。
#!/bin/bash i=10 j=3 a=`expr $i / $j` echo "a="$a b=`expr "scale=9; $i / $j" |bc` echo "b="$b ~ 》a=3 》b=3.333333333
二:浮点数的比较
-eq 相等
-gt 大于
-lt小于
-a或者&& 和
-o或者|| 或
#!/bin/bash i=0.6 if [ $(echo "${i} >0" |bc) = 1 ];then echo "1111" else echo "2222" fi 》1111