CentOS7 Shell脚本与定时任务教程

需积分: 50 5 下载量 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`这个脚本。