六十七、shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

一、shell脚本介绍

shell是一种脚本语言  aming_linux  blog.lishiming.net

可以使用逻辑判断、循环等语法

可以自定义函数

定义函数的目的:为了简化,为了减少重复的代码。

shell是系统命令的集合

shell脚本可以实现自动化运维,能大大增加我们的运维效率


二、shell脚本结构和执行

脚本示例:

#!/bin/bash

echo "123"

w

ls

开头需要加#!/bin/bash,这个脚本在当前机器执行能识别里面的命令,换一台机器也许就不能识别执行了,所以需要加上这行。下面写的命令是通过/bin/bash这个解释器来解析执行的,它的作用就在于此。

第二行起以#开头的行就是解释说明

脚本的名字以.sh结尾,用于区分这是一个shell脚本

 执行方法有两种:

# mkdir shell

# cd shell/

# sh 01.sh

# chmod a+x 01.sh

# ./01.sh

查看脚本执行过程 bash -x 1.sh

查看脚本是否语法错误,但是检查不出来不存在的命令  bash -n 1.sh


三、date命令用法

date  +%Y-%m-%d = date +%F   年月日

date  +%y-%m-%d       年月日

Y:2018、y:18。年份两位或四位

m:月份、M:分钟。m:05,h:5月

d:日、D:05/30/18(18年5月30日)

 date  +%H:%M:%S = date +%T 时间

H:小时

M:分钟

S:秒钟、s:时间戳,距离1970年1月1日0点0分过去了多少秒。

date +%s  时间戳


cal:看整月的日历。

date -d @1504620492      @后面跟时间戳

date -d "+1day"     一天后

date -d "-1 day"     一天前

date -d "-1 month" 一月前

date -d "-1 month" +%F

date -d "-1 year "   一年前

date -d "-1 year" +%F

date -d "-1 min"     一分钟前

date -d "-1 hour" +%T

date +%w, date +%W 星期

w:周,周一周二。W:今年的第几周。


四、shell脚本中的变量

当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替

使用条件语句时,常使用变量    if [ $a -gt 1 ]; then ... ; fi

引用某个命令的结果时,用变量替代   n=`wc -l 1.txt`

写和用户交互的脚本时,变量也是必不可少的  read -p "Input a number: " n; echo $n   如果没写这个n,可以直接使用$REPLY

内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ....       $#表示参数个数

数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]