shell介紹
shell是乙個用c編寫的程式,是使用者和系統核心互動的工具。它既是一種命令語言也是一種解釋性的程式語言。
shell的功能
1. 命令列解釋功能。解析命令列中輸入的命令。比如ls,cp,df等等。
2. shell程式設計,可以開發一些自動化的小工具。比如系統中很多啟動指令碼就是用shell開發的。
3. 變數維護。比如列印當前使用者echo $user。
4. 啟動程式,比如啟動apache,nginx等。
5. 輸入輸出重定向。
shell指令碼
定義:
shell指令碼就是將完成乙個任務的所有命令按照執行的順序,自上而下寫入到乙個文字檔案中,然後給予可執行許可權。
指令碼書寫規範
1. shell指令碼檔案命名不要用無意義的字母或者數字,要見名之意。副檔名用.sh結尾。檔名總長度最好不要超過30個字元。
2. 指令碼開頭第一行定義指令碼執行環境,如 #!/bin/bash 或者 #!/bin/sh,前面#!這個稱之為幻數,後面跟的是解釋此指令碼的shell的路徑,核心會根據它來決定用哪個程式來執行。預設是用bash來解釋。
3. 指令碼開頭要寫一些必要的指令碼注釋資訊,就是該指令碼的作用,如果沒有注釋會很難理解指令碼的功能,只能通讀一遍**,這樣會浪費很多寶貴時間。下面是乙個例子。
#author :songguojun#created at :
2019-10-10
#release :
1.0#script description: nginx
install
shell指令碼實際案例
1.檢查主機存活狀態
#!/bin/baship_list="
192.168.18.1 192.168.1.1 192.168.18.2
"for ip in $ip_list; do
num=1
while [ $num -le 3 ]; do
ifping -w 2 $ip > /dev/null; then #設定兩秒超時時間
echo
"$ip ping is successful.
"break
else
# echo
"$ip ping is failure $num
"fail_count[$num]=$ip
let num++
fidone
if [ $ -eq 3 ];then
echo
"$ ping is failure!
"unset fail_count[*]
fidone
2.遍歷兩個時間段並動態修改時間
#!/bin/bash#用法 : sh time.sh 2019-01-01 2020-01-01
export_start_date=$1
export_end_date=$2
date -s "
$export_start_date
" > /dev/null
i=$export_start_date
while [[ $i < `date -d "
+1 day $export_end_date
" +%y%m%d` ]]
doecho
$ii=`date -d "
+1 day $i
" +%y-%m-%d`
done
tqdm介紹及常用方法
tqdm 是乙個快速,可擴充套件的python進度條,可以在 python 長迴圈中新增乙個進度提示資訊,使用者只需要封裝任意的迭代器 tqdm iterator 使用pip就可以安裝。使用方法一 tqdm tqdm list 方法可以傳入任意一種list,比如陣列 from tqdm import...
Session介紹及常用API
session 是另一種記錄瀏覽器狀態的機制。不同的是cookie儲存在瀏覽器中,session儲存在伺服器中。使用者使用瀏覽器訪問伺服器的時候,伺服器把使用者的資訊以某種形式記錄在伺服器中,這就是session.如果說cookie是檢查使用者身上的 通行證 來確認使用者的身份,那麼session就...
SpringBoot常用註解及介紹
parmas 指定request中必須包含某些引數值,才讓該方法處理。headers 指定request中必須包含某些指定的header值,才能讓該方法處理請求。method 指定請求的method型別 consumes 指定處理請求的提交內容型別,content type produces 指定返...