1.变量简介
1.1作用:
存放系统和用户需要使用的特定参数
变量名:使用固定名称,由系统预设或用户定义
变量值:能够根据用户设置、系统环境的变化而变化
1.2类型:
①自定义变量:由用户自定义,修改和使用
②特殊变量:环境变量,只读变量,位置变量,预定义变量
2.操作
2.1定义一个变量
变量名=变量值
变量名以字母或下划线开头 ,区分大小写,建议全大写
2.2查看变量值
echo $变量名
2.3赋值时使用引号
双引号:允许使用 $ 符号引用其他变量值
单引号:禁止引用其他变量值,$ 视为普通字符
反撇号:命令替换,提取命令执行后的输出结果
2.4设置变量的作用范围
格式1:export 变量名
格式2:export 变量名=变量值
##设置为全局变量,当前用户的所有bash都可以生效##
2.5查看系统中已有变量
env
2.6整数变量的运算
expr 变量1 运算符 变量2 运算符 变量3
##可执行多次计算##
常用运算符
加法运算:+
减法运算:-
乘法运算:*
除法运算:/
求模(取余)运算:%
直接运算数字
expr 3+4
echo $((3+4)) ##*无需转义符
echo $[3+4] ##*无需转义符
3.特殊变量
3.1环境变量
系统已提前创建好,用于设置用户工作环境
文件:/etc/profile
~/.bash_profile
常见环境变量:pwd、path、user、shell
3.2只读变量
需设置
name=cloud
readonly name
##设为只读,不可修改,不可删除##
删除变量:
unset name
3.3位置变量
指定第n个参数
$n:n为1-9之间数字
例:
./aa.sh one two three
##./aa为$0、one为$1、two为$2、three为$3
3.4预定义变量
$#:命令行中位置变量的个数
$*:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名
注: $@和 $@类似,在shell中,都表示命令行所有参数,但 $ *将命令所有参数堪称一个整体,而 $@则区分各个参数