Shell 脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将.sh 后缀加上
Shell 脚本命令的工作方式有两种:交互式和批处理。
➢ 交互式( Interactive):用户每输入一条命令就立即执行。
➢ 批处理( Batch):由用户事先编写好一个完整的 Shell 脚本, Shell 会一次性执行脚本
中诸多的命令。
简单的脚本
脚本内容:列出当前路径和当前路径下所有的文件
运行方式:
① bash 解释器命令直接运行;
② 通过输入完整路径的方式来执行。
但默认会因为权限不足而提示报错信息,需要为脚本文件增加执行权限 chmod u+x list.sh
接收用户的参数
$0 对应的是当前 Shell 脚本程序的名称, $# 对应的是总共有几个参数 $* 对应的是所有位置的参数值 $? 对应的是显示上一次命令的执行返回值 $1、$2、 $3……则分别对应着第 N 个位置的参数值
判断用户参数
Shell 脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字 0,否则便返回其他随机数值 切记,条件表达式两边均应有一个空格
文件测试语句

示例:判断是否为一个目录类型的文件,然后通过 Shell 解释器的内设$?变量显示上一条命令执行后的返回值,返回值为 0,则是目录;非零,则不是目录
逻辑与、或、非

“非”,需要 !后面加个空格
整数比较运算符
整数比较运算符仅是对数字的操作,不能将数字与字符串、文件等内容一起操作,而且不能想当然地使用日常生活中的等号、大于号、小于号等来判断
字符串比较语句
流程控制语句
if 条件测试语句
if 条件语句的单分支结构由 if、 then、 fi 关键词组成,以下脚本文件,是判断目录不存在,则创建该目录
多分支的if语句
直接查阅以下代码吧,很简单清晰


for 条件循环语句

来个测试域名是否能ping通,如下图,准备一个列表文件 domains.txt 几点小tip说明: ① 脚本中出现的$(命令)是 和 转义字符中反引号
命令的 Shell 操作符,效果同样是执行括号或双引号括起来的字符串中的命令 ② id 用户名”命令查看用户的信息 ③ /dev/null 是一个被称作 Linux 黑洞的文件,把输出信息重定向到这个文件等同于删除数据(类似于没有回收功能的垃圾箱),可以让用户的屏幕窗口保持简洁







