Vim编辑器与Shell命令脚本

4.2编写Shell脚本

Shell脚本命令的工作方式有两种:交互式和批处理。

交互式:用户输入一条命令就立刻执行。

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

下面这个实验查看SHELL变量,发现当前系统默认使用bash作为命令行终端解释器了。

 


4.2.1 编写简单的脚本

下面这个实验是使用vim编辑器吧Linux命令按照顺序一次写入到一个文件中,这就是一个简单的脚本了。

想查看当前所在工作路径并列出当前目录下所有的文件及属性信息,实现脚本如下:


4.2.2接受用户的参数

以下这个实验看出shell接受用户参数。

 (好吧,这英语有点差,但是我还没去找怎么输入汉字)


4.2.3判断用户的参数

前面学习了mkdir命令会判断用户输入的信息。(判断用户指定的文件夹是否存在,若存在则提示报错,若不存在则自动创立)

shell脚本中的条件测试语法可以判断表达时是否成立,若条件成立则返回0,否则返回其他随机数值。格式中需要记得,前后各有一个空格。

按照测试的对象划分为以下四种:

文件测试语句

逻辑测试语句

整数值比较语句

字符串比较语句

文件测试所用的参数如下表所示

运算符作用
-d测试文件是否为目录类型
-e文件是否存在
-f是否为一般文件
-r当前用户是否有权限读文件
-w当前用户是否有权限写文件
-x当前用户是否由权限执行文件

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

接着判断/etc/fstab是否为一般文件。


逻辑语句用于对测试结果进行逻辑分析,在shell终端中逻辑“与”的运算符&&,或||,非,以下三个实验分别测试这三种运算符。

逻辑运算符这里和c是一样的,下面这个例子如果会判断&&和||的优先级是很好做出最后的结果的。


 因为等号与赋值命令符冲突,大于号和小于号分别与输出定向符和输入定向符冲突,所以下表展示了整数的比较运算符。

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

 下面这个实验测试一下10是否大于10,10是否等于10。


以下这个实验涉及到:free命令:获取当前系统正在使用及可用的内存量信息。

free -m 命令查看内存使用量的情况(单位MB); grep Mem命令:过滤出剩余内存量的行 ; awk'{print $4}'命令只保留第四列 ; FreeMem=’语句‘的方式把语句内执行的结果赋值给变量。

用整数运算符来判断内存可用量的值是否小于1024,若小于则会提示“insufficient memory”(内存不足)的字样。

实验如下:

字符串比较语句用于判断测试字符串是否为空值,或两个字符串是否相同。

-z 判断字符串内容是否为空值 ; != 比较字符串内容是否不同 ; = 比较字符串内容是否相同。

接下来这个实验 通过判断String是否为空值,进而判断是否定义了这个变量:

 再增添逻辑运算符,当用于保存当前语系的LANG不是英语(en.US)时,则输出"Not en.US"(非英语)的字样。

 好啦,已经对shell脚本有了简单的认识,我们下个小节再见!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值