1. 使用函数添加环境变量
e.g.
不使用函数添加
export PATH=/opt/myapp/bin:$PATH
export LD_LIBRARY_PATH=/opt/myapp/bin;$LD_LIBRARY_PATH
使用函数添加环境变量
prepend(){[-d "$2"] && eval $1=\"$2':'\$$1\" && export $1;} //写一个函数
prepend PATH /opt/myapp/bin //调用函数
prepend LD_LIBRARY_PATH /opt/myapp/bin
我们定义了名为 prepend() 的函数,它首先检查该函数第二个参数所指定的目录是否存在。
如果存在, eval 表达式将第一个参数所指定的变量值设置成第二个参数的值加上“:”(路径分隔
符),随后再跟上首个参数的原始值。
2. 数学运算
let命令:let命令可以直接执行基本的算数操作,不必再变量前加$
通过下面的例子看一些基本的操作
#!/bin/bash
no1=4;
no2=5;
let result=no1+no2
echo $result 输出的值是9
result1=no1+no2
echo $result1 输出的值是no1+no2
let no1++
echo $no1 输出的值是5
let no1--
echo $no1 输出的值是4
let no1+=6 no1+=6 相当于no1=no1+6
echo $no1 输出的值是10
let no1-=6 no1-=6 相当于no1=no1-6
echo $no1 输出的值是4
result2=$[no1 + no2] 操作符 [] 的使用方法和 let 命令类似
echo $result2 输出的值是9
result3=$[$no1+5]
echo $result3 输出的值是9
result4=$(( no1 + 50 )) 也可以使用 (()) ,但使用 (()) 时,变量名之前需要加上 $
echo $result4 输出的值是54
result=`expr 3 + 4` expr 同样可以用于基本算术操作
echo $result 输出的值是7
result=$(expr $no1 + 5)
echo $result 输出的值是9
3. 数学运算的高级运算
bc 是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项。我们可以
借助它执行浮点数运算并应用一些高级函数
要注意的是bc不一定都安装了,如果提示bash: apt-get: command not found,安装一下bc即可
echo “4 * 0.56” 输出 4 * 0.56
echo “4 * 0.56” | bc 输出2.24
no=54;
result=`echo "$no * 1.5" | bc`
echo $result 输出81.0
echo "scale=2;3/8" | bc 输出0.37,scale=2表示小数精度为2位
no=100 进制转换,将一种进制(e.g. 10进制)转换为另一种进制(e.g. 2进制)
echo "obase=2;$no" | bc
1100100
no=1100100
echo "obase=10;ibase=2;$no" | bc 输出100
平方以及平方根
echo "sqrt(100)" | bc 输出10
echo "10^10" | bc 输出100
e.g.
不使用函数添加
export PATH=/opt/myapp/bin:$PATH
export LD_LIBRARY_PATH=/opt/myapp/bin;$LD_LIBRARY_PATH
使用函数添加环境变量
prepend(){[-d "$2"] && eval $1=\"$2':'\$$1\" && export $1;} //写一个函数
prepend PATH /opt/myapp/bin //调用函数
prepend LD_LIBRARY_PATH /opt/myapp/bin
我们定义了名为 prepend() 的函数,它首先检查该函数第二个参数所指定的目录是否存在。
如果存在, eval 表达式将第一个参数所指定的变量值设置成第二个参数的值加上“:”(路径分隔
符),随后再跟上首个参数的原始值。
2. 数学运算
let命令:let命令可以直接执行基本的算数操作,不必再变量前加$
通过下面的例子看一些基本的操作
#!/bin/bash
no1=4;
no2=5;
let result=no1+no2
echo $result 输出的值是9
result1=no1+no2
echo $result1 输出的值是no1+no2
let no1++
echo $no1 输出的值是5
let no1--
echo $no1 输出的值是4
let no1+=6 no1+=6 相当于no1=no1+6
echo $no1 输出的值是10
let no1-=6 no1-=6 相当于no1=no1-6
echo $no1 输出的值是4
result2=$[no1 + no2] 操作符 [] 的使用方法和 let 命令类似
echo $result2 输出的值是9
result3=$[$no1+5]
echo $result3 输出的值是9
result4=$(( no1 + 50 )) 也可以使用 (()) ,但使用 (()) 时,变量名之前需要加上 $
echo $result4 输出的值是54
result=`expr 3 + 4` expr 同样可以用于基本算术操作
echo $result 输出的值是7
result=$(expr $no1 + 5)
echo $result 输出的值是9
3. 数学运算的高级运算
bc 是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项。我们可以
借助它执行浮点数运算并应用一些高级函数
要注意的是bc不一定都安装了,如果提示bash: apt-get: command not found,安装一下bc即可
echo “4 * 0.56” 输出 4 * 0.56
echo “4 * 0.56” | bc 输出2.24
no=54;
result=`echo "$no * 1.5" | bc`
echo $result 输出81.0
echo "scale=2;3/8" | bc 输出0.37,scale=2表示小数精度为2位
no=100 进制转换,将一种进制(e.g. 10进制)转换为另一种进制(e.g. 2进制)
echo "obase=2;$no" | bc
1100100
no=1100100
echo "obase=10;ibase=2;$no" | bc 输出100
平方以及平方根
echo "sqrt(100)" | bc 输出10
echo "10^10" | bc 输出100