1. 程式人生 > >20.1 Shell腳本介紹;20.2 Shell腳本結構和執行;20.3 date命令用法;20.

20.1 Shell腳本介紹;20.2 Shell腳本結構和執行;20.3 date命令用法;20.

20.4 Shell腳本中的變量

20.1 Shell腳本介紹

1. shell是一種腳本語言 aming_linux blog.lishiming.net

2. 可以使用邏輯判斷、循環等語法

3. 可以自定義函數

4. shell是系統命令的集合

5. shell腳本可以實現自動化運維,能大大增加我們的運維效率

20.2 Shell腳本結構和執行

1. 開頭(首行)需要加 #!/bin/bash

技術分享圖片

2. #開頭行作解釋說明

技術分享圖片

3. 腳本的名字.sh結尾,用於區分這是一個shell腳本

技術分享圖片

4. 執行.sh腳本方法有兩種

1) 先給.sh腳本添加x權限

[root@hao-01 ~]# chmod +x 1.sh

.sh腳本的絕對路徑回車

[root@hao-01 ~]# /root/1.sh

技術分享圖片

2) bash(bash=sh)執行.sh腳本 :

[root@hao-01 ~]# bash 1.sh

技術分享圖片

5. 查看腳本執行過程

[root@hao-01 ~]# sh -x 1.sh

技術分享圖片

6. 檢測腳本是否有語法錯誤

[root@hao-01 ~]# sh -n 1.sh

20.3 date命令用法

1. 查看當前時間

[root@hao-01 ~]# date

技術分享圖片

2.

年:

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

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

月:

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

分鐘:

[root@hao-01 ~]#

date +%M

日期:

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

月日年:

[root@hao-01 ~]# date +%D

年月日

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

年-月-日:

[root@hao-01 ~]# date +%F

小時:

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

秒:

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

時間戳(距離1970年1月1日零點零分到現在有多少秒):

[root@hao-01 ~]# date +%s

時:分鐘:秒:

[root@hao-01 ~]# date +%H:%M:%S

[root@hao-01 ~]# date +%T

周(星期幾):

[root@hao-01 ~]#

date +%w

今年第幾周(第幾個星期):

[root@hao-01 ~]# date +%W

顯示日歷:

[root@hao-01 ~]# cal

前一天(昨天):

[root@hao-01 ~]# date -d "-1 day" +%F

上個月:

[root@hao-01 ~]# date -d "-1 month" +%F

前一年(去年):

[root@hao-01 ~]# date -d "-1 years" +%F

前一小時:

[root@hao-01 ~]# date -d "-1 hour" +%F

前一分鐘:

[root@hao-01 ~]# date -d "-1 min" +%F

時間戳(當前時間到1970年1月1日零點零分有多少秒):

[root@hao-01 ~]# date +%s

通過時間戳,翻譯成日期時間

[root@hao-01 ~]# date -d @1505206911

通過日期時間,轉換成時間戳

[root@hao-01 ~]# date +%s -d "2017-09-12 17:01:51"

技術分享圖片

20.4 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]


20.1 Shell腳本介紹;20.2 Shell腳本結構和執行;20.3 date命令用法;20.