1、Shell介绍
Shell是用户与内核之间的桥梁,也可以当作Linux中的编程语言。
Shell与用户交互的模式:在交互环境下,每次执行一条命令;通过编写Shell脚本的方式
2、Shell的编写
Shell解释器
#!解释器 eg:#!/bin/bash
Shell的变量类型
环境变量:Shell环境下已经存在的一些系统变量,eg:PWD,PATH,UID
自定义变量:变量名 = 变量值 等号两边不能加空格
预定义变量:
$0 当前执行shell脚本的程序名
$1 $2 ... $n 代表第一个、第二个......第n个位置参数的值
$# 传递的位置参数的个数
$* 所有位置参数的值
$? 返回上一条命令是否执行成功,成功为0,不成功非0
3、Shell脚本执行方式
方式1:直接通过脚本文件的位置执行(必须添加x执行权限)
方式2:sh 脚本文件位置
方式3:source 脚本文件位置
4、Shell的程序流程控制
if条件判断语法:
if [ 判断条件表达式 ]
then
测试通过,执行此处
else
测试不通过,执行此处
fi
注意:文件判断的常用选项:-d是否为目录;-f是否为文件;-e是否存在
for循环语句
for 循环变量 in 可被循环的表达式
do
循环内容
done
while循环语句
while [ 判断条件表达式 ]
do
循环内容
done
5、计划定时任务
使用crontab命令操作定时任务
crontab 【选项】【配置文件】
选项:
-e 编辑当前用户定时任务
-l 列出定时任务
-r 删除定时任务
如果当前用户要编辑其他用户的定时任务,则需要有root权限(sudo),而且需要指定-u选项。eg:sudo crontab -u tom -e
注意:每个用户都有自己的定时任务文件。
用户定时任务文件:
m h dom mon dow command
32 */2 * * * date >> /home/rcw/log.txt
意思是:每天每隔2小时的32分,将当前时间写入对应的文件中
如果要执行以root用户权限执行的任务,应该在/etc/crontab文件下加定时任务,user字段填写root就可以使用root权限执行了。
/etc/cron.daily每天都会执行该目录下的脚本
/etc/cron.weekly每周都会执行该目录下的脚本
/etc/cron.monthly每月都会执行该目录下的脚本
初学Ubuntu:shell编程
最新推荐文章于 2024-07-13 23:06:53 发布