20.1 Shell腳本介紹linux
1. shell是一種腳本語言 aming_linux blog.lishiming.netshell
2. 能夠使用邏輯判斷、循環等語法bash
3. 能夠自定義函數運維
4. shell是系統命令的集合ide
5. shell腳本能夠實現自動化運維,能大大增長咱們的運維效率函數
20.2 Shell腳本結構和執行spa
1. 開頭(首行)須要加 : #!/bin/bash.net
2. 以#開頭的行做爲解釋說明 :翻譯
3. 腳本的名字以.sh結尾,用於區分這是一個shell腳本blog
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]