变量 &
变量
概念
简单来讲,就是用于保存数据的一个盒子,数据本质上是存储在内存种的,变量存储了这个内存地址,从而可以获取数据。
变量又分为 系统变量 ,自定义变量
命名规范:由字母,数字,下划线构成,数字不能开头
使用
- 定义变量 age=10,重复定义会覆盖之前的值
- 获取变量 $age
- 设为只读变量 readonly age,设为只读后,不能再次赋值
- 移除变量 unset age
- 查看所有变量 set
整数运算
expr
运算符和数字之间要留有空格
- expr 1 + 2
- expr 1 - 2
- expr 1 * 2
- expr 1 / 2
- expr 1 % 2
expr 结果赋值给变量
bash
a=`expr 1 + 1`;
echo ${a}
$(())
运算符和数字无需空格
bash
[root@origin sh]# echo $((1+1))
2
[root@origin sh]# echo $((1*1))
1
[root@origin sh]# echo $((1/2))
0
[root@origin sh]# echo $((1-2))
-1
[root@origin sh]# echo $((1%2))
1
# 次方
[root@origin sh]# echo $((2**2))
4
赋值给变量
bash
a=$((1+3))
echo ${a}
$[]
运算符和数字无需空格
bash
[root@origin sh]# echo $[1+1]
2
[root@origin sh]# echo $[1-2]
-1
[root@origin sh]# echo $[1*2]
2
[root@origin sh]# echo $[1/2]
0
[root@origin sh]# echo $[1%2]
1
[root@origin sh]# echo $[2**2]
4
赋值给变量
bash
a=$[1+3]
echo ${a}
let
" + - * / % ** "
常用于定义一个变量接收计算结果
bash
[root@origin sh]# let a=1+1;echo ${a}
2
bc (功能更强大)
需bc库支持
" + - * / % ^ sqrt(num) "
语法:表达式 | bc
- 基本使用
bash
[root@origin sh]# echo 1+1|bc
2
- 指定小数保留位数 scale=2;计算表达式|bc。默认整数为0时,不显示
bash
[root@origin sh]# echo "scale=2;2/3"|bc
.66
- 格式化显示结果(显示整数位 的0)
bash
[root@origin sh]# printf "%.2f\n" `echo "scale=2;2/3"|bc`
0.66
- 设置 入参和结果的进制 ibase=2;obase=2
入参 以二进制解析,如果参数超过1,统统按1算
结果以二进制显示
例子
bash
[root@origin sh]# echo "ibase=2;10+10"|bc
4
[root@origin sh]# echo "ibase=2;10+12"|bc
5
[root@origin sh]# echo "ibase=2;10+13"|bc
5
[root@origin sh]# echo "ibase=2;10+14"|bc
5
[root@origin sh]# echo "ibase=2;10+94"|bc
5
计算结果赋值给变量
bah
[root@origin sh]# b=`echo 1+3|bc`;echo ${b}
4