shell计算命令
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
shell计算命令
expr 命令,表达式求值
字符串操作
expr length 字符串 #计算字符串长度
expr substr 字符串 start end #截取字符串
expr index 字符串 需要查找的字符 #获取第一个字符在字符串中第一次出现的位置,从1开始计数
expr match 字符串 正则表达式 #正则表达式匹配返回匹配字符串的长度,
expr 字符串: 正则表达式 #和上面相同
计算命令(())
用于数学表达式的执行,将数学表达式放在双括号之间,可以自动解析变量,不使用$符号(在双括号之间赋值);在双括号外面赋值需要使用$
符号,整数赋值命令
let 命令
和(())计算方面的功能相同,没有(())功能强大 ,只能用于赋值计算,
let a=1+2
let b=a+1
let b=1+2 c=2+4 d=3+4 #多表達式计算
$[]命令
只能对单个表达式计算求值与输出,整数计算
$[]
a=$[1+3]
bc命令
bash 只提供了整数运算,不支持浮点运算,linux bc 命令(basic calclator)可以进行浮点运算,进制转换,
bc [-option ] [参数] #参数,指定包含计算任务的文件
选项 | 说明 |
---|---|
-h | 帮助信息 |
-l | 使用标准数学库 |
内置变量
scale 指定精度,默认为0,不使用小数部分
ibase 指定输入的数字进制
obase 指定输出的数字进制
last or . 获取最近计算的结果文字
使用内置数学函数必须要使用-l
参数
bc 使用
- 互动式
- 非互动式管道运算
- 非互动式输入重定向运算
echo "ecpresion"|bc [option]
表达式中可以使用shell变量;
echo "scale =2;10/3"| bc
将bc计算结果赋值给shell 变量
val_name=`echo "scale =2;10/3"| bc`
val_name=$(echo "scale =2;10/3"| bc)
非互动式输入重定向运算
将计算表达式输出到bc去执行,可以输入多行表达式,更加清晰;
第一种方式,将一个多行表达式输出给bc执行,结果赋值给变量名
var_name=`bc<<EOF
#第一行表达式,
#第二行表达式,
..
EOF
`
#第二种方式,
var_name=$(bc<<EOF
#第一行表达式,
#第二行表达式,
..
EOF
)
EOF输入流表达式
bc执行bc命令
将多个表达式的结果拼成字符串赋值给变量;
bc是一个任意精度计算器;
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |