![9851237c912f9d8af17b520751655ba5.png](https://i-blog.csdnimg.cn/blog_migrate/1e250a0da0385982d33e5bdf6b11d812.jpeg)
变量:bash作为程序设计语言和其它高级语言一样也提供使用和定义变量的功能
变量类型:预定义变量、环境变量、自定义变量、位置变量
一.预定义变量
1.$? 最后执行的命令的返回状态,输出值为0则上一条命令正确执行,如果不为0则执行错误
echo $? 输出值为0和非0
2.$$ 当前进程的进程号(PID)
echo $$ 输出值为当前进程pid
3.$! 后台运行的最后一个进程的进程号(PID)
echo $! 输出值为最后一进程pid
二.环境变量
#env 查看所有环境变量
#set 查看所有变量
vim /etc/procfile
export 导出变量 export name='laoyu' 写入到环境变量中,才能导出,env才能查看得到
三.自定义变量
定义:变量名称=值
例如:#a=100
#ceho $a 输出100
四.位置变量
$1 $2 $3 $4 ......
$1:第一个位置参数
$2:第二个位置参数
$3:第三个位置参数
echo hello world nihao
$1 $2 $3
五.变量运算
1.算式运算符: +、-、*、/、()、%取余(取模)
2.运算方式:$(()) $[] expr
例如:echo $(( 5+2-(3*2)/5 ))
6
echo $[ 5 + 2 - (3*2)/5 ]
6
expr 5 + 3
6
3.echo $(($RANDOM % 6 + 1)) 取1~6之间随机数
4.浮点运算:bash本身不能做小数计算:需要bc命令转换 ,scale:精度
#echo "2*4" | bc
#echo "2^4" | bc
#echo "scale=2;6/4" | bc
5.变量引用
转义:
当一个字符被引用时,其特殊含义被禁止 把有意义的变的没意义,把没意义的变的有意义
完全引用:'' 强引
部分引用:"" 弱引
6.read 读取用户标准输入
read:功能就是读取键盘输入的值,并赋给变量
read -p 读取用户标准输入
read -s -p 密文形式,不显示输入的信息
read -t 3 -p 三秒没输入为默认