5、RedHat7系列——Shell脚本(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5、RedHat7系列——Shell脚本(一)
Shell简介:
Shell终端解释器当作人与计算机硬件之间的翻译器;
Shell脚本命令的工作方式有两种:交互式和批处理。

1.交互式(Interactive):用户每输入一条命令就立即执行。

2.批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。

查看SHELL变量可以发现当前系统已经默认使用Bash作为命令行终端解释器
简单的脚本:
编写简单脚本查看当前工作路径并列出目录下所有的文件及属性信息:
执行脚本:
通过输入完整路径执行脚本(默认会因为权限不足而提示报错信息):
接收用户的参数:
Shell脚本内设了用于接收参数的变量,变量之间可以使用空格间隔。

例如$0对应的是当前Shell脚本程序的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N个位置的参数值;
示例:
编写脚本:
执行脚本:
判断用户的参数:
Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回其他随机数值。

按照测试对象来划分,条件测试语句可以分为4种:
1.文件测试语句;
2.逻辑测试语句;
3.整数值比较语句;
4.字符串比较语句;
文件测试即使用指定条件来判断文件是否存在或权限是否满足等
情况的运算符
文件测试所用的参数:
1.-d 测试文件是否为目录类型
2.-e 测试文件是否存在
3.-f 判断是否为一般文件
4.-r 测试当前用户是否有权限读取
5.-w 测试当前用户是否有权限写入
6.-x 测试当前用户是否有权限执行
示例:
判断目录是否存在,返回0表示存在,否则反之:
判断是否为一般文件,返回0代表存在且为一般文件,否则反之:
在Shell终端中逻辑“与”的运算符号是&&,它表示当前面的命令执行成功后才会执行它后面的命令,
因此可以用来判断/usr/local文件是否存在,若存在则输出指定字样
除了逻辑“与”外,还有逻辑“或”,它在Linux系统中的运算符号为||,表示当前面的命令执行失败后才会执行它后面的命令;
第三种逻辑语句是“非”,在Linux系统中的运算符号是一个叹号(!),它表示把条件测试中的判断结果取相反值;
整数比较运算符仅是对数字的操作,不能将数字与字符串、文件等内容一起操作,而且不能想当然地使用日常生活中的等号、大于号、小于号等来判断;
可用的整数比较运算符:
1.-eq:是否等于;
2.-ne:是否不等于;
3.-gt:是否大于;
4.-lt:是否小于;
5.-le:是否等于或小于;
6.-ge:是否大于或等于;
示例:
字符串比较语句用于判断测试字符串是否为空值,或两个字符串是否相同。

它经常用来判断某个变量是否未被定义(即内容为空值);
常见的字符串比较运算符:
1.=:比较字符串内容是否相同;
2.!=:比较字符串内容是否不同;
3.-z:判断字符串内容是否为空;
示例:
判断String变量是否为空值:
当前语系的环境变量值LANG不是时,则输出指定提示:。

相关文档
最新文档