shell是一種腳本語言(解釋性語言) #語言可分爲編譯和解釋,編譯就是把你寫的程序先編譯一下,而後才能執行。解釋就是直接運行,不須要編譯。linux
能夠使用邏輯判斷、循環等語法,能夠自定義函數,shell是系統命令的集合,shell腳本能夠實現自動化運維shell
開頭須要加#!/bin/bashbash
以#開頭的行做爲解釋說明運維
腳本的名字以.sh結尾,用於區分這是一個shell腳本 #linux中不之後綴區分文件類型,但仍是要以規範後綴命名函數
執行腳本的方法有兩種 spa
chmod +x X.sh或者./X.sh字符串
bash X.shinput
查看腳本執行過程 :bash -x X.sh數學
查看腳本是否語法錯誤:bash -n X.sh自動化
date +%Y-%m-%d, date +%y-%m-%d #顯示當前年月日(大Y帶20小y不帶20) #大Y顯示具體的年,小Y顯示省略的年
date +%H:%M:%S = date +%T 時間 #分時秒
date +%s 時間戳(時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至如今的總秒數。)
date -d @1504620492(顯示該時間戳的具體日期)
date -d "+1day" 一天後
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 min" 一分鐘前
date +%w(顯示當前是周幾), date +%W(顯示當前是今年的第幾周)
當腳本中使用某個字符串較頻繁而且字符串長度很長時就應該使用變量代替
使用條件語句時,常使用變量if[$a -gt 1];then ... ; fi
引用某個命令的結果時,用變量替代 n = wc -1 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))或者c=$[$a+$b]