shell是一種腳本語言shell
能夠使用邏輯判斷、循環等語法bash
能夠自定義函數運維
shell是系統命令的集合ide
shell腳本能夠實現自動化運維,能大大增長咱們的運維效率函數
開頭須要加#!/bin/bashcode
以#開頭的行做爲解釋說明字符串
腳本的名字以.sh結尾,用於區分這是一個shell腳本數學
執行方法有兩種it
chmod +x 1.sh; ./1.sh自動化
bash 1.sh
查看腳本執行過程 bash -x 1.sh
查看腳本是否語法錯誤 bash -n 1.sh
[root@localhost]# date Fri Apr 20 19:13:31 CST 2018 [root@localhost]# date +%y 小y表示年 18 [root@localhost]# date +%Y 大Y的年顯示得更全 2018 [root@localhost]# date +%m 小m表示月份 07 [root@localhost]# date +%M 大M表示分鐘 14 [root@localhost]# date +%d 小D表示天 11 [root@localhost]# date +%D 大D顯示得更全面 07/11/08 [root@localhost]# date +%Y%m%d 這個格式顯示年月日 20180711 [root@localhost]# date +%F 大F的做用 2018-07-11 [root@localhost]# date +%H 大H表示小時 19 [root@localhost]# date +%s 表示時間戳 1524222940 [root@localhost]# date +%S 大S表示秒 45 [root@localhost]# date +%T 大T表示時秒分 19:16:58 [root@localhost]# date +%w 小w表示一個星期的周幾 3 [root@localhost]# date +%W 大W表示一年的第幾周 28 [root@localhost]# date -d "-1 day" +%F -1 day表示前一天 2018-07-11 [root@localhost]# date -d "-1 month" +%F -1 month 表示前一個月 2018-06-11 [root@localhost]# date -d "-1 years" +%F -1 years 表示前一年 2017-07-11
[root@localhost]# date +%s #時間戳 1531378819 [root@localhost]# date -d @1531378819 #經過時間戳換算出時間 2018年 07月 11日 星期三 20:00:19 CST [root@localhost]# date +%s -d "2018-07-11 20:00:19" #經過時間戳算出時間 1531378819
當腳本中使用某個字符串較頻繁而且字符串長度很長時就應該使用變量代替
使用條件語句時,常使用變量 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]