Shell脚本

shell脚本命令的两种工作方式

	交互式:用户输入一条命令就立即执行一条。
	批处理:由用户事先编写好一个完整的Shell脚本,Shell会一次性执行多行命令。

1.编写简单的脚本
创建一个example.sh的脚本(.sh代表脚本文件)
在这里插入图片描述
第一行的脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行脚本。
第二行为注释信息,提高可读性。
第三、四就是脚本命令。

第一种执行脚本方式
在这里插入图片描述

第二种执行脚本方式
在这里插入图片描述
给脚本增加执行权限(chmod u+x命令)

2.接受用户的参数

符号作用
$0当前Shell脚本程序的名称
$#总共有几个参数
$*对应的是所有位置的参数值
$?显示上一次命令的执行返回值
$1、$2、$3…对应第N个位置的参数值

在这里插入图片描述
sh执行shell脚本
在这里插入图片描述

3.判断用户的参数
测试语句格式:[ 条件表达式 ] []内左右两边都有一个空格

四种条件测试语句

	文件测试语句:指定条件来判断文件是否存在或权限是否满足等情况的运算符
	逻辑测试语句:对测试结果进行逻辑分析
	整数值比较语句:对数字的操作(大于、<、>、!、>=、<=、=)
	字符串比较语句:用来判断字符串是否为空值,或者两个字符串是否相同

文件测试所用的参数

参数作用
-d测试文件是否为目录类型
-e测试文件是否存在
-f测试是否为一般文件
-r判断当前用户是否有权限读取
-w测试当前用户是否有权限写入
-x测试当前用户是否有权限执行

(1)文件测试
判断/etc/fstab是否为一个目录类型的文件。(0代表存在,1代表不存在)
在这里插入图片描述
(2)逻辑语句测试
&&表示当前的命令执行成功后才执行它后面的命令。
例如:判断/dev/cdrom文件是否存在,存在就输出exist。在这里插入图片描述
||表示当前面的命令执行失败后才执行后面的命令。
例如:结合环境变量USER来判断当前登录的用户是否为非管理员身份。
在这里插入图片描述

!表示把条件测试中的结果取反。
在这里插入图片描述

(3)整数比较语句

运算符作用
-eq是否等于
-ne是否不等于
-gt是否大于
-lt是否小于
-le是否小于等于
-ge是否大于等于

返回1表示否,0表示是。
在这里插入图片描述

实际应用:
获取内存量信息的第四列信息。
在这里插入图片描述
通过grep命令 匹配Mem关键字,再用awk ‘{print $4}’只打印第四列(动态的),最后赋值给freemMem变量。(等号后面是反引号括起来的,awk括起来的是单引号)

执行freemMem变量
在这里插入图片描述

判断内存可用量的值是否小于1024,小于则提示信息“Memory less 1024”
在这里插入图片描述
(4)字符串比较语句

运算符作用
=比较字符串内容是否相同
!=比较字符串内容是否相同
-z判断字符串内容是否为空

判断String变量是否为空值,进而判断是否定义了这个变量
在这里插入图片描述

当前语系的环境变量LANG不是zh_CN时,则会满足逻辑测试条件并输出"Not zh_CN"
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值