shell笔记

2019-08-21 15:11:58 浏览数 (1)

一:exit(0)与exit(1)、return区别

exit函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给OS,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出, 非0 为非正常退出。

return返回函数值,是关键字,它表示了调用堆栈的返回,退出函数。

二:数学运算

  简单运算:let,[ ],(( ))

  高级运算:expr,bc

1、let

  let是bash内置命令,可以实现简单的算术运算和逻辑运算

代码语言:javascript复制
#!/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.[ ]

代码语言:javascript复制
#!/bin/bash


i=10
echo $i
a=$[i 100]
echo "a="$a

b=$[$i 100]
echo "b="$b

》10
》a=110
》b=110

3.(( )) 

代码语言:javascript复制
#!/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

代码语言:javascript复制
#!/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命令是一个支持精确的浮点运算的高级计算器,支持数学函数调用。

代码语言:javascript复制
#!/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或者|| 或

代码语言:javascript复制
#!/bin/bash

i=0.6

if [ $(echo "${i} >0" |bc) = 1 ];then
   echo "1111"
else
  echo "2222"
fi


》1111

0 人点赞