一、什么是shell
1.shell是一种编程语言
2.shell可以使用逻辑判断和循环等语法
3.shell支持自定义函数
4.shell是系统命令的集合
5.shell脚本可以实现自动化运维,可以大大增加运维的效率
6.shell其实就是把系统的命令写进文件中,有点类似于windows的批处理
二、shell脚本的结构和执行方法
1.开头必须申明使用的解释器
2.一般默认开头申明的解释器为bash,即#!/bin/bash
3.shell脚本文件中#开头的内容一般都是解释文件,不会被shell执行
4.脚本的名字一般以.sh结尾,方便识别
5.chmod +x 可以给与shell文件执行权限,用./XXX.sh 来执行文件
6.查看执行脚本的过程可以加-x参数 ,即sh -x 1,sh
7.检查脚本是否有语法错误可以使用-n参数,即sh -n 1.sh
三、date的用法(非常有用,经常会使用到)
data是打印系统时间的命令
%Y输出4位数的年份
%y输出2位数的年份
%m输出月份
%M输出分钟
%d输出日期
%D输出月日年
%F输出带横杠的年月日
%h输出英文缩写的月
%H输出小时
%s输出秒
%T输出时分秒
%F输出年月日
%w输出周几
%W输出今年的第几周
%s距离1970年1月1日0时0分0秒过了多少秒
cal可以以日历的方式显示日期
date -d “-1 day” %F 输出昨天的年月日信息
date -d “-1 month” %F 输出上个月今天的年月日信息
date -d %s “2017-09-16 06:52:16” 2017年9月16日6时52分分16秒距离1970年1月1日0时0分0秒过了多少秒
date -d @155555 1970年1月1日0时0分0秒后155555秒的日期是多少
四、shell脚本中的变量
1.什么时候使用变量
当脚本中使用某个字符串比较频繁且字符长度较长时就应该使用变量
使用条件语句时,常使用变量if [ $a -gt 1]; then……;fi
使用某个命令的结果时,用变量替代n=wc -l 1.txt
在和用户交互的脚本时,变量也是必不可少的
2.系统内置变量
$0 表示脚本本身
$1 表示第一个参数
$2 表示第二个参数
$# 表示参数的个数
3.脚本中使用的逻辑判断
if 条件 ; then 语句 ; fi
if 条件 ; then 语句 ;else 语句 ; fi
if 条件 ; then 语句 ; elif 条件 ; then 语句 ; else 语句 ;
4.脚本中的数学运算符
&& 并且
|| 或者
gt 大于
lt 小于
eq 等于
ne 不等于
ge 大于等于
le 小于等于