Linux | Shell脚本的编写

Shell 脚本的介绍

Shell脚本通过Shell终端解释器当作人与计算机硬件之间的翻译官,用户可以通过它执行各种命令,不仅有简单的,还有复杂的,比如:判断、循环、分支等这些高级编程中才有的特性。Shell 命令有两种工作方式:

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

交互式,比如:

    # 输入系统的PATH变量到屏幕上
    echo $PATH

批处理,就是把之前学习的Linux命令以及正则表达式,管道符,数据流重定向等语法规则结合到一起,再通过内部的逻辑语句进行处理,最终形成一个 Shell 脚本。
我们可以编写一个简单的脚本:
test.sh

    #!/bin/bash
    # 这个一行注释
    pwd
    ls -l

Shell 脚本的后缀名可以为任何类型,但是为避免用户误以为是普通文件,所以普遍将用 .sh 作用后缀名
上面这个脚本:
第一个行是声明脚本以 bin/bash 解析器解析。
第二行是注释,对脚本的功能介绍。
第三行,第四行, 是两个简单的命令,就是我们平时执行的命令。

使用脚本接收用户的参数

如果我们的脚本像上面简单的编写的话,那也太过死板了,不够灵活,不能处理多种情况,如果一个程序不能和用户交互的话,就是一个好的程序,所以必须要让程序接收用户的参数。
接收参数命令及作用

参数 作用
$0 脚本的名称
$# 参数的个数
$* 对应所有的参数
$? 上一次命令的返回
$n 分别对应第n个位置的参数

exec.sh

    #!/bin/bash
    echo "脚本的名称为:$0"
    echo "脚本一共有:$# 个参数,分别是:$*"
    echo "第二个参数是:$2,第五个参数是:$5"

各个参数之间用空隔间隔

判断文件的参数

文件判断的参数

命令 作用
-d 判断文件是否为目录
-e 判断文件是否为空
-f 判断文件是否为一般文件
-r 判断文件是否可读
-w 判断文件是否可写
-x 判断文件是否可以执行

中括号的前后最后留一个空格的距离

Shell 脚本中的判断不仅仅可以判断文件,还可以比较数值:
可用于整数比较的运算符

命令 作用
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否小于等于
-ge 是否大于等于

还可以用来比较字符串是否相等:

命令 作用
= 比较字符串内容是否相等
!= 比较字符串内容是否不相等
-z 判断字符串内容是否为空



关注公众号,随时获取最新资讯

细节决定成败!
个人愚见,如有不对,恳请斧正!

posted @ 2021-06-17 09:27  一点浩然气~  阅读(740)  评论(0编辑  收藏  举报