一、shell腳本語言是linux系統的系統命令的一個集合:他包含了有邏輯判斷、循環語句和自定義的函數等。 二、shell腳本用來實現系統管理的自動化運維,提升管理效率。例如:要部署上百臺機器的時候,就可使用腳本文件同時進行操做,大大提升效率。 三、shell腳本編寫是運維工做的重點,也是工做應聘的必備熟練的條件:熟練掌握必需要多練習多看腳本代碼,對腳本的解決問題的思路要理解透徹。
linux中的shell腳本,第一行固定文件頭:linux
#!/bin/bash //指定下面的命令集合經過哪一個解釋器執行
若是shell腳本文件擁有x執行權限,加上了指定解釋器文件頭,就可以直接執行shell腳本文件,不用在前面使用命令來執行shell
chmod a+x 123.sh //加上x執行權限 ./123.sh //直接輸入文件名,回車執行便可。不用 sh命令或者 /bin/bash命令
若是不加指定解釋器的文件頭:#!/bin/bash,就須要使用命令來執行shell腳本:bash
sh 123.sh // /bin/sh命令文件實際上是軟連接至 /bin/bash /bin/bash 123.sh
shell腳本中除了第一行外的,其餘以#號開頭的行,表明解釋說明,不會被解釋器執行運維
bash -x 123.sh //-x選項 查看執行過程 ,執行過程顯示中,+號後面的語句是:執行過程,按執行順序顯示。 bash -n 123.sh //-n選項 查看是否有語法錯誤
date命令:顯示系統當前日期和時間,shell腳本中做用很大。函數
date命令在shell腳本中至關重要,常常會使用到date命令來進行對文件的操做:如日誌文件等。日誌
LANG=en //date命令顯示的時間就是英文的 LANG=zh_CN.UTF-8 //date命令顯示的時間是中文的
date命令有如下經常使用的格式與選項:code
date +%Y //顯示年份:2018 date +%m //顯示月份:07 date +%d //顯示日:12 date +%M //顯示分鐘:52 date +%D //顯示年月日:09/09/17 date +%F //顯示年月日:2017-09-09 date +%h //顯示英文的月份:Sep date +%H //顯示小時:06 date +%S //顯示秒:36 date +%s //顯示時間戳:1504811139,距離1970.01.01過去多少秒 date +%T //顯示時間:06:30:20 date +%w //顯示星期 date +%W //顯示今年第幾周:36 cal //顯示日曆
date命令指定日期:字符串
date -d "+1 day" //一天後的日期; -d選項,計算時間日期 date -d "-1 day" +%F //昨天的日期 date -d "-1 month" +%F //上月的日期 date -d "+1 year" +%F //明年的日期 date -d "+1 hour" +%T //下個小時 date -d @1504911154 //查看時間戳對應的日期時間 date +%s -d "2017-09-08 06:20:19" //查看日期時間對應的時間戳
shell腳本中的變量:是某個字符串使用頻繁,或者字符串長度長,可使用變量才代替,提升代碼編寫的效率。部署
在條件語句中常使用到變量:input
if [$a -gt 10];then 語句; fi //a就是變量
引用命令結果時用變量:
n='wc -l 1.txt' //wc統計行數命令的結果,賦值給變量n
用戶交互腳本中,使用變量:
read -p "input a number : " n; echo $n //把輸入的數值,賦值給變量n
系統的內置變量:
$0,$1,$2,$3等 //$0表示腳本自己,$一、$2表明命令的第1個參數、第2個參數,如此類推。$#表明參數個數
數序運算中使用變量:
a=1 b=2 c=$(($a+$b)) //c=$[$a+$b] 這種寫法也行