一、运算符
- 弱类型,并且默认是字符串类型
1. declare命令
1.1 declare命令
- 用来声明变量类型
- declare[+/-][选项]变量名
选项 | 含义 |
---|
- | 给变量设定类型属性 |
+ | 取消变量的类型属性 |
-a | 将变量声明为数组类型 |
-i | 将变量声明为整数型(integer) |
-x | 将变量声明为环境变量 |
-r | 将变量声明为只读变量 |
-p | 显示指定变量的被声明的类型 |
//声明成整型
# a=1
# b=2
# c=$a+$b
# echo $c
1+2
# declare -i c=$a+$b
# echo $c
3
# declare +i c
# c=$a+$b
# echo $c
1+2
# declare -p c
declare -i c="3"
//声明环境变量
# declare -x kk=1
# bash
# set | grep kk
//只读
# declare -r x
# x=2
1.2 数组
ames[0]=zhangsan
names[1]=lisi
# 声明为数组类型
declare -a names;
# 默认只打印第一个元素
echo ${names}
zhangsan
打印第2个元素
# echo ${names[1]}
lisi
# 打印全部
echo ${names[*]}
zhangsan lisi
1.3 声明环境变量
- export最终执行的是declare -x 命令
- declare -p 可以查看所有类型
export NAME=zhufeng//就相当于下面的命令
declare -x NAME=zhufeng
1.4 只读属性
#declare -r gender=m
#gender=f
-bash: gender: readonly variable
1.5 查询变量属性
- declare -p 查询所有变量的属性
- declare -p 变量名 查询指定变量的属性
- 注意,如果是字符串类型,那么类型会写成--
2.数值运算的方法
- 只要用declare声明变量的时候指定类型就可以进行数值运算
2.1 expr 或 let
- +号两侧必须使用空格,否则还是整块输出
#num1=2
#num2=3
#s=$(expr $num1 + $num2)
#echo $s
5
#s=$(($num1+$num2))
#echo $s
5
#s=$[$num1+$num2]
#echo $s
5
d=$(date)
echo $d
2.2 运算符优先级