1. 程式人生 > >68.shell腳本介紹、shell腳本結構和執行、date命令用法、shell腳本中的變量

68.shell腳本介紹、shell腳本結構和執行、date命令用法、shell腳本中的變量

shell腳本介紹 shell腳本結構和執行 date命令用法 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                 四位數字的年份
    date +%y                 兩位數字的年份
    date +%m                 月份
    date +%M                 分鐘
    date +%D                 05/30/18 格式顯示當前日期
    date +%d                 日期(幾號)
    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 -d "+1hour"         一小時後
    date -d "+1year"         一年後
    date +%w                 周幾
    date +%W                 今年第幾周
    cal                      顯示日歷

技術分享圖片
技術分享圖片
技術分享圖片
%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)

%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一為第一天)
%y 年的最後兩個數字(1999則是99)

四、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]

68.shell腳本介紹、shell腳本結構和執行、date命令用法、shell腳本中的變量