Linux笔记(六)初学Shell脚本

编写Shell脚本

Shell 脚本命令的工作方式有两种:交互式批处理
交互式: 用户每输入一条命令就立即执行
批处理: 由用户实现编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令

编写简单的脚本

Shell 脚本文件的名称可以任意,但为了避免被误以为是普通文件,通常将.sh 后缀加上,以表示是一个脚本文件。
在这里插入图片描述
第一行: #!是脚本声明,用来告诉系统使用哪种Shell解释器来执行该脚本;
第二行: # 是注释信息,是对脚本功能和某些命令的介绍信息,使自己以后能看懂脚本
第三、四行: 就是平时执行的Linux命令
使用的时候,用 bash 脚本文件名 ,或者 ./+脚本文件名(. /) 运行

其中,用第二种方法会出现报错,提示权限不够,如下图
在这里插入图片描述
解决方法如下:

chmod u+x 脚本文件名
./脚本文件名

在这里插入图片描述

执行结果:
在这里插入图片描述

接收用户的参数

$0 对应的是当前Shell 脚本程序的名称,$#对应的是总共
有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N 个位置的参数值。
在这里插入图片描述

判断用户的参数

按照测试对象来划分,条件测试语句可以分为 4 种:

  1. 文件测试语句;
  2. 逻辑测试语句;
  3. 整数值比较语句;
  4. 字符串比较语句。

在这里插入图片描述

下面使用测试语句来判断/etc/sys是否为一个目录类型的文件,然后用Shell解释器的内设$?变量显示上一条命令执行后的返回值。
返回值是0,则目录存在,返回值为非0,则目录不存在

在这里插入图片描述
在Shell终端逻辑中“与”的运算符号是 && ,它表示当前的命令执行成功后才会执行它后面的命令,因此可以判断文件是否存在,如果存在则输出Exist
在这里插入图片描述
第二种逻辑语句是“或”,运算符为 ||,它表示前面的命令执行失败后才会执行的语句
在这里插入图片描述
第三种逻辑语句是“非”,运算符是 !,它表示把条件测试中的判断结果取相反值,即正确变为错误,错误变为正确。
在这里插入图片描述

整数比较运算符

整数比较运算符仅是对数字的操作,不能将数字与字符串、文件等内容一起操作,而且不能想当然地使用日常生活中的等号、大于号、小于号等来判断。因为等号与赋值命令符冲突,大于号和小于号分别与输出重定向命令符和输入重定向命令符冲突。因此一定要使用规范的整数比较运算符来进行操作。可用的整数比较运算符如下:
在这里插入图片描述
例子:
在这里插入图片描述

字符串比较运算符

常见的字符串比较运算符如下
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值