• 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量


    shell 脚本介绍

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

    公众号:aming_linux 
    博客: blog.lishiming.net

    Shell脚本结构和执行

    开头(首行)需要加: #!/bin/bash 
    这里是指文件使用的是bash语法,通过/bin/bash解释器来执行的。 
    这里写图片描述

    以#开头的行作为解释说明: 
    这里写图片描述

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

    执行.sh脚本方法有两种:

    1先给.sh脚本添加x权限:

    chmod +x 1.sh
    
    • 1
    • 2

    .sh脚本的绝对路径回车:

    /root/1.sh
    
    • 1
    • 2

    2bash(bash=sh)执行.sh脚本:

    bash 1.sh
    
    • 1
    • 2

    查看脚本执行过程:

    sh -x 1.sh
    
    • 1
    • 2

    检测shell脚本的语法错误:

    sh -n 1.sh
    
    • 1
    • 2

    date命令用法

    date命令在·shell·脚本里的大部分是对日志进行文件名的更改,和对一些文件做日期上的区分。

    查看当前时间

    [root@shuai-01 ~]# date
    2018年 02月 25日 星期日 14:51:35 CST
    
    [root@shuai-01 ~]# LANG=en 
    [root@shuai-01 ~]# date
    Sun Feb 25 14:52:25 CST 2018
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • date +%Y : 打印四位数字的年份

      [root@shuai-01 ~]# date +%Y 
      2018

    • date +%y : 打印两位数字的年份

      [root@shuai-01 ~]# date +%y 
      18

    • date +%m : 打印月份

      [root@shuai-01 ~]# date +%m 
      02

    • date +%d : 表示日期

      [root@shuai-01 ~]# date +%d 
      25

    • date +%H : 表示小时

      [root@shuai-01 ~]# date +%H 
      14

    • date +%M : 表示分钟

      [root@shuai-01 ~]# date +%M 
      58

    • date +%S : 表示秒

      [root@shuai-01 ~]# date +%S 
      35

    • date +%w : 表示星期,0表示周日

      [root@shuai-01 ~]# date +%w 
      0

      表示年月日:

      [root@shuai-01 ~]# date +%Y%m%d 
      20180225

      [root@shuai-01 ~]# date +%F 
      2018-02-25

    表示时间:

    [root@shuai-01 ~]# date +%T
    18:44:10
    
    • 1
    • 2
    • 3

    显示日历:

    [root@shuai-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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    date 标记昨天的日期:

    [root@shuai-01 ~]# date -d "-1 day"
    Sat Feb 24 18:47:16 CST 2018
    
    [root@shuai-01 ~]# date -d "-1 day" +%F
    2018-02-24
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Shell脚本中的变量

    1. 当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替
    2. 使用条件语句时,常使用变量    if [ $a -gt 1 ]; then ... ; fi
    3. 引用某个命令的结果时,用变量替代   n=`wc -l 1.txt`
    4. 写和用户交互的脚本时,变量也是必不可少的  read -p "Input a number: " n; echo $n   如果没写这个n,可以直接使用$REPLY
    5. 内置变量 $0, $1, $2…    $0表示脚本本身,$1 第一个参数,$2 第二个 ....       $#表示参数个数
    6. 数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]
  • 相关阅读:
    RabbitMQ:六、网络分区
    RabbitMQ:五、高阶
    RabbitMQ:四、跨越集群
    数据结构:红黑树
    RabbitMQ:三、进阶
    面对对象多态的异常
    面向对象三大特征---多态
    面对对象继承的优点和缺点
    面对对象当中的代码块
    面对对象this关键字
  • 原文地址:https://www.cnblogs.com/pta188/p/9294257.html
Copyright © 2020-2023  润新知