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

20.1 Shell脚本介绍

shell是什么shell

  • shell是一种脚本语言
  • 能够使用逻辑判断、循环等语法
  • 能够自定义函数
  • shell是系统命令的集合
  • shell脚本能够实现自动化运维,能大大增长咱们的运维效率

20.2 shell脚本结构和执行

  • 开头须要加#!/bin/bash
  • 以#开头的做为解释说明
  • 脚本的名字以.sh结尾,用于区分这是一个shell脚本
  • 执行方法有两种

实例01:bash

[root@qingyun-01 shell]# cat 1.sh 
#!/bin/bash
echo "123"
  1. chmod +x 1.sh;./1.sh
[root@qingyun-01 shell]# chmod a+x 1.sh
[root@qingyun-01 shell]# ./1.sh 
123
  1. bash 1.sh
[root@qingyun-01 shell]# bash 1.sh 
123
  • 查看脚本执行过程 bash -x 1.sh
[root@qingyun-01 shell]# sh -x 1.sh 
+ echo 123
123
  • 查看脚本是否语法错误bash -n 1.sh
[root@qingyun-01 shell]# sh -n 1.sh 
#无错误
#只用于检测shell的没法错误

20.3 date命令用法

显示当前时间:运维

[root@qingyun-01 ~]# date
2018年 02月 05日 星期一 17:55:33 CST

#变动为英文
[root@qingyun-01 ~]# LANG=en
[root@qingyun-01 ~]# date
Mon Feb  5 17:57:24 CST 2018
  • date +%Y-%m-%d,date +%y-%m-%d 年月日
;年
[root@qingyun-01 ~]# date +%Y
2018
;取后两位
[root@qingyun-01 ~]# date +%y
18

;月份
[root@qingyun-01 ~]# date +%m
02

;号(日)
[root@qingyun-01 ~]# date +%d
05

;日期
[root@qingyun-01 ~]# date +%D
02/05/18

;即
[root@qingyun-01 ~]# date +%Y-%m-%d
2018-02-05
;或
[root@qingyun-01 ~]# date +%F
2018-02-05

[root@qingyun-01 ~]# date +%y-%m-%d
18-02-05
  • date +%H:%M:%S = date +%T 时间
;时
[root@qingyun-01 ~]# date +%H
18
;分
[root@qingyun-01 ~]# date +%M
07
;秒
[root@qingyun-01 ~]# date +%S
11

;即
[root@qingyun-01 ~]# date +%H:%M:%S
18:06:43
;或
[root@qingyun-01 ~]# date +%T
18:08:48
  • date +%s 时间戳
;时间戳
[root@qingyun-01 ~]# date +%s
1517825370
  • date -d @1517825370
#根据时间戳转换成日期
[root@qingyun-01 ~]# date -d @1517825370
Mon Feb  5 18:09:30 CST 2018
  • date -d "+1day" 一天后
[root@qingyun-01 ~]# date -d "-1 day"
Sun Feb  4 18:19:25 CST 2018
[root@qingyun-01 ~]# date -d "-1 month" +%F
2018-01-05
  • date -d "-1 years" 一天前
[root@qingyun-01 ~]# date -d "-1 years" +%F
2017-02-05
  • date -d "-1 month" 一月前
[root@qingyun-01 ~]# date -d "-1 month" +%F
2018-01-05
  • date -d "-1 min" 一分钟前
[root@qingyun-01 ~]# date -d "-1 min" +%F
2018-02-05
  • date +%w, 星期 date +%W 第几个星期
[root@qingyun-01 ~]# date +%w
1
;是今年的多少周(星期)
[root@qingyun-01 ~]# date +%W
06
  • 显示日历
[root@qingyun-01 ~]# cal
    February 2018   
Su Mo Tu We Th Fr Sa
             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

20.4 shell脚本中的变量

  • 当脚本中使用某个字符串,屡次频繁而且字符串长度很长时,就应该使用变量代替ide

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

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

  • 写和用户交互的脚本时,变量也是必不可少的 read -p "lnput a number:" n; echo $n 若是没有写这个n, 能够直接使用$REPLY字符串

  • 内置变量 $0,$1,$2... $0表示脚本自己,$1 第一个参数,$2第二个... $#: 表示参数个数
  • 数学运算a=1;b=2;c=$($a+$b)或者$[$a+$b]
相关文章
相关标签/搜索