CentOS7 Shell脚本与定时任务教程
需积分: 50 91 浏览量
更新于2024-09-09
收藏 24KB DOCX 举报
"本文主要介绍了如何在CentOS7操作系统中使用shell脚本以及设置定时任务。主要内容包括shell脚本中的环境变量、位置变量、预定义变量、自定义变量的使用,以及逻辑运算符和算术运算符的运用。"
在CentOS7中,shell脚本是一种强大的自动化工具,用于执行一系列的命令。它使用bash shell,这是Linux系统中最常见的默认shell。要创建和运行一个shell脚本,你需要了解以下几个关键概念:
1. **环境变量**:
- **系统环境变量**:存储在`/etc/profile`文件中,全局生效,对所有用户有效。
- **用户环境变量**:位于用户的家目录下,文件名为`.bash_profile`,只对当前用户生效。
2. **位置变量**:
在bash脚本中,有9个预先声明的位置变量,分别是`$1`到`$9`,用于接收命令行输入的参数。`$0`则代表脚本本身的名称。例如,以下脚本会打印出传递给它的参数:
```bash
#!/bin/bash
echo $0
echo $1
echo $3
echo $2
```
如果你运行 `sh demo01.sh aabbccdd`,输出将会是:
```
demo01.sh
aa
cc
bb
```
3. **预定义变量**:
- `$0`: 脚本名称
- `$!`: 最后一个后台进程的进程ID
- `$$: 当前进程ID
- `$#`: 参数个数
- `$*`: 所有参数作为一个字符串显示
- `$@`: 所有参数分别显示
- `$?`: 程序退出状态,0表示成功,非0表示失败
4. **自定义变量**:
用户可以通过`name=value`的形式定义自己的变量,等号两边不应有空格,并使用`$`引用变量。例如:
```bash
myvar="Hello World"
echo $myvar
```
5. **逻辑运算符**:
- `&&` 逻辑与:只有当`cmd1`成功执行后,才会执行`cmd2`
- `||` 逻辑或:如果`cmd1`失败,将执行`cmd2`
- `;` 无逻辑符:无论前面的命令成功或失败,都会执行后面的命令
6. **算术运算符**:
- `$((expression))` 或 `$[expression]`:用于计算表达式的值
- `expr expression`:旧式的表达式计算,表达式两边需要加空格
例如:
```bash
a=10
b=20
echo $((a + b)) # 输出30
echo $[a + b] # 输出30
expr $a + $b # 输出30
```
7. **乘法运算**:
同样适用于其他算术运算,如乘法。例如:
```bash
a=10
b=20
echo $((a * b)) # 输出200
```
在shell脚本中,通过这些基础元素,你可以编写复杂的逻辑来执行日常任务。为了设置定时任务,可以使用`crontab`命令。例如,要在每天的凌晨1点执行一个脚本,可以使用以下命令:
```bash
crontab -e
```
然后在打开的编辑器中添加一行:
```
0 1 * * * /path/to/your/script.sh
```
保存并关闭编辑器,定时任务就设置好了。这个任务会在每天的1点执行`/path/to/your/script.sh`这个脚本。
2021-01-20 上传
2017-07-25 上传
点击了解资源详情
点击了解资源详情
2023-03-31 上传
2023-03-16 上传
2023-07-27 上传
2023-06-28 上传
qinglanmei
- 粉丝: 4
- 资源: 1
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析