目录
一、编写简单的脚本
shell脚本名称可以任意,建议sh结尾,表示是脚本文件
脚本组成元素
第一行脚本声明(#!):声明系统使用哪种shell解释器执行脚本
第二行注释信息(#)
之后的为:执行语句
二、接收用户参数
$0:当前脚本程序名称
$#:对应的是总共几个参数
$*:所有位置的参数值
$?:显示上一次命令的执行返回值,0成功,其他为失败
$1,$2…:对应第N个位置的参数值
三、判断用户参数
shell 条件测试语句包括:
文件测试语句
格式:[ 操作符 文件或目录 ]
操作符 | 作用 |
---|---|
-d | 判断文件是否为目录类型 |
-e | 判断文件是否存在 |
-f | 判断是否为一般文件 |
-r | 判断当前用户是否有权限读取 |
-w | 判断当前用户是否有权限写入 |
-x | 判断当前用户是否有权限执行 |
逻辑测试
格式:[ 表达式1 ] 操作符 [ 表达式2 ]
操作符 | 作用 |
---|---|
&& | 逻辑与,而且的意思 |
-e | 逻辑或,或者的意思 |
-f | 逻辑否 |
整数值比较
格式: [ 整数1 操作符 整数2 ]
操作符 | 作用 |
---|---|
-eq | 判断是否相等 |
-ne | 判断是否不相等 |
-gt | 判断是否大于 |
-lt | 判断是否小于 |
-lt | 判断是否小于或等于 |
-ge | 判断是否大于或等于 |
字符串比较符
格式:[ 字符串1 操作符 字符串2 ]
操作符 | 作用 |
---|---|
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不相同 |
-z | 判断字符串内容是否为空 |
四、条件测试语句
单分支结构
双分支结构
多分支结构
例子:
五、for 条件语句
例子:
六、While 条件语句
例子:
七、case条件语句
例子:
八、 计划任务服务
一次性任务
先来讲一次性任务吧 , 它是由 atd 服务/进程来实现的, 计划的管理操作是" at" 命令, 具体的可用参数如下:
命令 | 作用 |
---|---|
at<时间> | 安排一次性任务 |
atq或at-l | 查看任务列表 |
at-c 序号 | 预览任务和设置环境 |
atrm 序号 | 删除任务 |
例子:
长期计划
例子:
在etc目录下,执行crontab -e