shell脚本介绍,date用法

十六周二次课(2月5日)
20.1 shell脚本介绍
20.2 shell脚本结构和执行
20.3 date命令用法
20.4 shell脚本中的变量

什么是shell
shell是一种脚本语言 aming_linux blog.lishiming.net
可以使用逻辑判断、循环等语法
可以自定义函数
shell是系统命令的集合
shell脚本可以实现自动化运维,能大大增加我们的运维效率

shell脚本结构和执行方法
开头需要加#!/bin/bash
以#开头的行作为解释说明
脚本的名字以.sh结尾,用于区分这是一个shell脚本
执行方法有两种
chmod +x 1.sh; ./1.sh
bash 1.sh
查看脚本执行过程 bash -x 1.sh
查看脚本是否语法错误 bash -n 1.sh

date命令的用法
date +%Y-%m-%d, date +%y-%m-%d 年月日
date +%H:%M:%S = date +%T 时间
date +%s 时间戳
date -d @1504620492
date -d “+1day” 一天后
date -d “-1 day” 一天前
date -d “-1 month” 一月前
date -d “-1 min” 一分钟前
date +%w, date +%W 星期

[root@dl-001 shell]# date       //查看当前时间
20180120日 星期六 10:10:25 CST
[root@dl-001 shell]# cal            //查看系统日期
      一月 2018     
日 一 二 三 四 五 六
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

[root@dl-001 shell]# date +%Y           //查看当前年份(四位显示)
2018
[root@dl-001 shell]# date +%y           //查看当前年份(简化显示)
18
[root@dl-001 shell]# date "+%Y-%m-%d %H:%M:%S %w"   //查看当前 年 月 日  时 分 秒 星期
2018-01-20 10:11:15 6
[root@dl-001 shell]# date +%F       //查看当前完整的年月日
2018-01-20
[root@dl-001 shell]# date +%W           //查看当前时间是一年的第几周
03
[root@dl-001 shell]# date +%T           //查看当前时间是几点
10:11:39
[root@dl-001 shell]# date +%s           //查看时间戳(显示从1970年1月1日00:00:00到目前经历的秒数)
1516414309

//时间戳的换算
[root@dl-001 shell]# date +%s -d  "2018-01-20 22:00:00"
1516456800
[root@dl-001 shell]# date -d @1516456800
20180120日 星期六 22:00:00 CST

//打印指定日期和时间
[root@dl-001 shell]# date -d "-2 day" +%d
18
[root@dl-001 shell]# date -d "-1 year -3 month -1 day" +%Y-%m-%d
2016-10-19

//手动设置当前时间
[root@dl-001 shell]# date -s "2017-5-20 12:00:00"
20170520日 星期六 12:00:00 CST
[root@dl-001 shell]# date
20170520日 星期六 12:00:03 CST


//同步网络时间
[root@dl-001 shell]# yum install -y ntp
[root@dl-001 shell]# ntpdate ntp.ubuntu.com
20 Jan 10:47:42 ntpdate[8615]: step time server 91.189.89.198 offset 21163558.201100 sec
[root@dl-001 shell]# date
20180120日 星期六 10:47:45 CST

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]

你可能感兴趣的:(linux学习之路)