目录
变量的作用:
- 变量名:使用固定的名称,由系统预设或用户定义
- 变量值:能够根据用户设置、系统环境的变化而变化
变量的类型:
- 自定义变量:由用户自己定义、修改和使用
- 环境变量:由系统维护,用于设置工作环境
- 位置变量:通过命令行给脚本程序传递参数
- 预定义变量:Bash中内置的一类变量,不能直接修改
定义一个新的变量格式:
- 变量名=变量值
- 变量名以字母或下划线开头,区分大小写,建议全大写
查看变量的值,格式:echo $变量名
赋值时可以使用引号,它们将有如下意义:
- 双引号:允许通过$符号引用其他变量值
- 单引号:禁止引用其他变量值,$视为普通字符
- 反撇号:命令替换,提取命令执行后的输出结果
- 从键盘输入内容为变量赋值格式: read [-p“提示信息”]变量名
设置变量的作用范围(两种格式可以混合使用):
- 格式1:export 变量名(已有的变量)
- 格式2: export 变量名=变量值(新定义的变量)
整数变量的运算(赋值时必须用反撇号`)
格式:expr变量1 运算符 变量2[运算符 变量3]…
常用运算符:
- 加法运算:+
- 减法运算:-
- 乘法运算:*
- 除法运算:/
- 求模(取余)运算:%
环境变量:
由系统提前创建,用来设置用户的工作环境配置文件:/etc/profile、~/.bash_profile
位置变量:
表示为 $n,n为1~9之间的数字,超过9则用${n]
预定义变量:
- $#:命令行中位置变量的个数。
- $*:所有位置变量的内容。
- $?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
- $0:当前执行的进程/程序名
文件测试:
格式:[操作符 文件或目录]
常用的测试操作符:
- -d:测试是否为目录
- -e测试目录或文件是否存在
- -f测试是否为文件
- -r:测试当前用户是否有权限读取
- -w:测试当前用户是否有权限写入
- -x:测试当前用户是否有权限执行
整数值比较:
格式:[ 整数1 操作符 整数2]
常用的测试操作符:
- -e9:等于
- -ne:不等于
- gt:大于
- It:小于
- Ne小于或等于
- ge:大于或等于
字符串比较:
格式1:[字符串1= 字符串2]
[字符串1!= 字符串2]
格式2:[- z 字符串]
逻辑测试:
·格式1:[表达式1]操作符[ 表达式2 ]…
格式2:命令1操作符 命令2
单分支if语句:
判断挂载点目录,若不存在则自动创建
双分支if语句:
判断目标主机是否存活,显示检测结果
多分支if语句:
判断分数范围,分出优秀、合格、不合格三档