1.变量时什么
一句话概括:变量就是用来临时保存数据的,可以变化的
2、什么时候需要定义变量
多次使用,在代码中重复使用
3、变量如何定义
变量名=变量值
定义 A=hello
调取 $A或者${A}
更改变量 A=word
取消变量 unset A
4、变量的定义规则
一、变量名区分大小写
二、变量名不能有特殊符号
三、变量名不能以数字开头
四、等号两边不能有任何空格
五、变量名尽量做到见名知意
5、变量定义方式
一、基本方式
$A 和${A}
相同点:都可以调取变量
不同点:${变量名}可以只截取变量的一部分,而$变量名不可以
A=123456
${A:2:4} 表示从变量第二位开始取4个,第一位为0
二、命令方式
$(uname -r)
三、交互式定义变量(read)
让用户自己定义变量值
语法:read 选项 变量名
-p 定义提示用户的信息
-n 定义字符数(限制变量值的长度)
-s 不显示(不显示用户输入的信息)
-t 定义超时时间,默认单位为秒
变量值来自文件
四、定义有类型的变量(declare)
目的:给变量做一些限制,固定变量的类型,比如:整型、只读
用法:declare 选项 变量名=变量值
-i 将变量看成整数 declare -i A=123
-r 将变量定义为只读变量 declare -r B=hello
-x 将变量通过环境导出变成环境变量 declare -x AAAA=12344相当于export AAAA=12344
系统变量(内置变量):
$? 上一条命令执行后返回的状态,状态值为0说明上面正常
$0 当前执行的程序或脚本本身
$# 脚本后面接的参数的个数 ./1.sh a b c $#
$* 脚本后面接的参数 ./1.sh a b c $*
$@ 脚本后面跟的参数
$1-$9 脚本后面的位置参数,$1代表第一个参数,以此类推
${10}-${n} 脚本后面的位置参数,超过10要用大括号
$$ 当前进程的进程号
$! 后台运行的最后一个进程号
!$ 调用最后一条命令历史中的参数