初学Ubuntu:shell编程

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每月都会执行该目录下的脚本

发布了45 篇原创文章 · 获赞 87 · 访问量 18万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章