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

前端之家收集整理的这篇文章主要介绍了shell脚本介绍、脚本结构和执行、date命令用法、脚本中的变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

20.1 Shell脚本介绍

shell是什么

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

20.2 shell脚本结构和执行

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

实例01:

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

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@H_403_35@ 
  • 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@H_403_35@ 
  • 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@H_403_35@ 
  • date +%s 时间戳
;时间戳
[root@qingyun-01 ~]# date +%s
1517825370@H_403_35@ 
  • date -d @1517825370
#根据时间戳转换成日期
[root@qingyun-01 ~]# date -d @1517825370
Mon Feb  5 18:09:30 CST 2018@H_403_35@ 
  • 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@H_403_35@ 
  • date -d "-1 years" 一天前
[root@qingyun-01 ~]# date -d "-1 years" +%F
2017-02-05@H_403_35@ 
  • date -d "-1 month" 一月前
[root@qingyun-01 ~]# date -d "-1 month" +%F
2018-01-05@H_403_35@ 
  • date -d "-1 min" 一分钟前
[root@qingyun-01 ~]# date -d "-1 min" +%F
2018-02-05@H_403_35@ 
  • date +%w,星期 date +%W 第几个星期
[root@qingyun-01 ~]# date +%w
1
;是今年的多少周(星期)
[root@qingyun-01 ~]# date +%W
06@H_403_35@ 
 
[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@H_403_35@ 

20.4 shell脚本中的变量

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

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

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

  • 写和用户交互的脚本时,变量也是必不可少的 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]

猜你在找的Bash相关文章