shell-变量的数值运算-bc-typeset-中括号等方法介绍
1. bc命令的用法:
bc是unix下的计算器,它也可以用在命令行下面:
例:给自变量i加1
i=2
i=`echo $i + 1|bc` --------效率低
因为bc支持科学计算,所以这种方法功能非常强大
echo $i + 1|bc
[root@1-241 scripts]# echo 3.5+5|bc
8.5
[root@1-241 scripts]# echo 3.5+8|bc
11.5
[root@1-241 scripts]# echo 3.5+8.9|bc
12.4
[root@1-241 scripts]# echo "scale=1;5.23 * 3.13"|bc
16.36
[root@1-241 scripts]# echo "obase=2;8"|bc #把十进制转换成二进制
1000
[root@1-241 scripts]# echo "obase=2;4"|bc
100
[root@1-241 scripts]# echo "obase=2;1"|bc
1
[root@1-241 scripts]# echo "obase=2;2"|bc
10
[root@1-241 scripts]# echo "obase=16;20"|bc #把十进制转换成十六进制
14 [root@1-241 scripts]# seq -s "+" 10|bc
55
特点: bc的特点是支持小数运算
2. typeset命令的用法:
使用整数变量直接进行计算
例如:
[root@1-241 scripts]# typeset -i A=1 B=3
[root@1-241 scripts]# A=A+B
[root@1-241 scripts]# echo $A
4
3. $[ ]的用法:
实践操作演示:
[root@1-241 scripts]# echo $[3+2]
5
[root@1-241 scripts]# echo $[3-2]
1
[root@1-241 scripts]# echo $[3*2]
6
[root@1-241 scripts]# echo $[3/2]
1
[root@1-241 scripts]# echo $[3**2]
9
[root@1-241 scripts]# echo $[3%2]
实际解决问题例子:打印数学杨辉三角
#!/bin/bash
if (test -z $1) ;then
read -p "Input Max Lines:" MAX
else
MAX=$1
fi i=1
while [ $i -le $MAX ] #i行控制
do
j=1
while [ $j -le $i ] #j列控制
do
f=$[i-1] #f=i-1 这是另一种计算写法。
g=$[j-1] #g=j-1 这是另一种计算写法。
if [ $j -eq $i ] || [ $j -eq 1 ] ; then
declare SUM_${i}_$j=1 #声明变量 头尾都是1
else
declare A=$[SUM_${f}_$j] #取上一行的j列变量
declare B=$[SUM_${f}_$g] #取上一行的j-1列变量
declare SUM_${i}_$j=`expr $A + $B` #声明并计算当前变量的值
fi
echo -en $[SUM_${i}_$j]" " #输出当前变量
let j++
done
echo #换行
let i++
done
shell-变量的数值运算-bc-typeset-中括号等方法介绍的更多相关文章
- Shell基础(二):Shell中的数值运算、条件测试操作、使用if选择结构
一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78 ...
- [Shell]Bash变量:数值运算及运算符
------------------------------------------------------------------------------------------------- Sh ...
- shell脚本基础 数值运算 判断 及if语句
数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [root@ceshiji ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 ...
- shell中的数值运算
By francis_hao Oct 2,2017 本文摘录自bash的man手册. 算数运算相关的形式 形式 含义 ((expression)) expression按照下面描述的算术 ...
- shell基础:数值运算与运算符
linux的shell中,变量的类型默认都是字符串型. export将aa声明为环境变量.也可用declare声明.其实就是改变了-x属性 $(()) 最常用.
- LinuxShell脚本编程基础2-变量与数值运算、父shell和子shell
1.变量和数值运算 Shell脚本的变量不需要声明的 对变量赋值有两种方式, 直接用“=” 或者用键盘输入值 #!/bin/bash name1="Jack" echo $name ...
- shell简单用法笔记(shell中数值运算)二
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...
- Linux shell 变量 数学 运算
Abstract : 1) Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...
- shell变量与运算
shell变量与运算 @(0003 shell编程) 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$号,只有引用变量的值时才使用$号.也就是说在内存中,标记变量的变量名称是str,而不 ...
- shell之数值运算
Shell中声明变量默认是字符串, 要参与数值运算,可使用下面方式,简单,表示以数值方式.
随机推荐
- Pinpoint 一款强大的APM工具
背景 程序的监控一直是程序员最头痛的事情之一,现网程序有问题怎么办?看进程看端口 top/free/df 三件套?网络抓包?看日志?所以为了满足这些初级需求很多公司都做了主机监控,进程端口监听等功能, ...
- 【IDEA】【SpringBoot】基于idea对springboot程序远程调试
一.开启远程调试前提:本地代码与服务器代码一致(实测:不关键的代码稍微有点不一样好像也不会有多大问题). 二.开启远程调试步骤 1.开发工具配置 idea端打开Edit configurations, ...
- Nginx 前端项目配置 包含二级目录和接口代理
Nginx是目前用的比较多的一个前端服务器 其优点是配置简单修改一下server就能用 并发性能比较好,具体怎么好就看这个吧 开撸 1.找到nginx (liunx系统,已安装) whereis ng ...
- python之结合if条件判断和生成随机数的相关知识,完成石头剪刀布的游戏
程序开始,显示下面提示信息: 请输入:剪刀(0).石头(1).布(2): 用户输入数字0-2中的一个数字,与系统随机生成的数字比较后给出结果信息. 例如:输入0后,显示如下 你的输入为:剪刀(0) 随 ...
- C++STL中vector的初始化
vector的初始化有很多方式,在N维初始化时还会一些容易出现错误的地方.下面进行总结 以下的总结均以int作为模板参数 一维vector的初始化 vector的构造函数通常来说有五种,如下: vec ...
- Asp.Net中的三种分页方式总结
本人ASP.net初学,网上找了一些分页的资料,看到这篇文章,没看到作者在名字,我转了你的文章,只为我可以用的时候方便查看,2010的文章了,不知道这技术是否过期. 以下才是正文 通常分页有3种方法, ...
- python应用 曲线拟合04
python应用 曲线拟合04 → 多项式拟合 主要是使用 numpy 库中的 polyfit() 函数,见第 66 行, z = np.polyfit(x_proton, y, 3) ,其中待拟合曲 ...
- Linux:安装禅道
一.准备工作 禅道安装包ZenTaoPMS.8.1.3.zbox_64.gz,上传至服务器:rz命令 解压到指定目录 tar -zxvf ZenTaoPMS.8.1.3.zbox_64.gz -C ...
- sudo提权,ansible批量给所有主机创建系统账户,授权
sudo(superuser or another do)让普通用户可以以超级管理员或其他人的身份执行命令. sudo基本流程如下: 1.管理员需要先授权(修改/etc/sudoers文件) 2.普通 ...
- range如何倒序
for j in range(3,-2,-1): 表示对3进行每次加-1的操作,直到-2,但不包括-2 print(j) 打印出3 2 1 0 -1都换行展示的