一·Shell变量的作用、类型
变量的作用
为灵活管理Linux系统提供特定参数,有两层意思:
变量名:使用固定的名称,由系统预设或用户定义
变量值:能够根据用户设置、系统环境的变化而变化
变量的类型
自定义变量:由用户自己定义、修改和使用
环境变量:由系统维护,用于设置工作环境
位置变量:通过命令行给脚本程序传递参数
预定义变量:Bash中内置的一类变量,不能直接修改
1.定义一个新的变量
格式:变量名=变量值
变量名以字母或下划线开头,区分大小写,建议全大写
2.查看变量的值
格式:echo $变量名
3.赋值时可以使用引号,它们将有如下意义:
双引号:允许通过$符号引用其他变量值
如NEW=“WORD$Version”,将引用上面的变量,结果是WORD3.0
单引号:禁止引用其他变量值,$视为普通字符
当需要用$符号时。如CASH=‘US$IS’
反撇号:命令替换,提取命令执行后的输出结果
如EX=`pgrep –U root | wc –l`,把命令结果赋给EX
4.从键盘输入内容为变量赋值
格式: read [-p “提示信息”] 变量名
5.设置变量的作用范围
格式1:export 变量名 ... (已有的变量)
格式2: export 变量名=变量值 ...(新定义的变量)
—— 两种格式可以混合使用
6.整数变量的运算(赋值时必须用反撇号`)
格式:expr 变量1 运算符 变量2 [运算符 变量3] ...
7.常用运算符
加法运算:+
减法运算: -
乘法运算: \*
除法运算: /
求模(取余)运算: %
8.环境变量
由系统提前创建,用来设置用户的工作环境
配置文件: /etc/profile、~/.bash_profile
9.常见的环境变量:
10.位置变量
表示为 $n,n为1~9之间的数字,超过9则用${n}
11.预定义变量
二·Shell程序设计-判断语句
在Shell程序设计中,判断语句是控制程序流程的关键组成部分。它们允许脚本根据不同的条件执行不同的代码块,从而实现逻辑判断和决策。以下是判断语句在Shell脚本中的一些主要用途:
条件执行:根据变量的值、文件的存在与否、字符串的比较等条件来决定是否执行特定的命令或代码块。
错误处理:在脚本执行过程中,可以使用判断语句来检查命令是否成功执行,如果失败则执行错误处理代码。
用户输入验证:在需要用户输入的脚本中,可以使用判断语句来验证用户输入是否符合预期的格式或范围。
循环控制:在循环结构中,判断语句可以用来决定何时退出循环,例如,当达到某个条件时停止循环。
文件操作:判断文件是否存在、是否可读写、是否为空等,根据这些条件来决定是否进行文件操作。
权限检查:在执行需要特定权限的操作前,可以使用判断语句来检查当前用户是否具有相应的权限。
系统状态检查:判断系统资源(如CPU、内存、磁盘空间)的使用情况,根据这些信息来决定是否继续执行某些任务。
配置文件解析:在解析配置文件时,可以根据不同的配置项来执行不同的操作。
日志记录:根据不同的条件来决定是否记录日志信息,例如,只有在发生错误时才记录错误日志。
自动化任务:在自动化脚本中,可以根据系统状态或时间来决定是否执行某些任务。
总之,判断语句是Shell脚本中不可或缺的工具,它们使得脚本能够根据实际情况做出智能的决策,从而实现更加灵活和强大的自动化功能。通过合理使用判断语句,可以编写出更加健壮、高效和用户友好的Shell脚本。
12.文件测试
格式:[ 操作符 文件或目录 ]
常用的测试操作符(先clear)
13.整数值比较
格式:[ 整数1 操作符 整数2 ]
14.常用的测试操作符(先clear,假定虚拟机内存为1024M)
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greate)
15.逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
16.常用的测试操作符
17.单分支if语句
判断挂载点目录,若不存在则自动创建
18.双分支if语句
判断目标主机是否存活,显示检测结果
19.多分支if语句
判断分数范围,分出优秀、合格、不合格三档