shell学习整理(4)- 函数添加环境变量AND数学运算

本文介绍了如何在Shell中使用函数添加环境变量,并探讨了数学运算的各种方法,包括let命令、操作符[]和(()的使用,以及bc工具进行浮点数和高级数学运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值