1. 程式人生 > >2018.4.17 16周5次課

2018.4.17 16周5次課

Linux學習

十六周五次課(4月17日)

20.1 shell腳本介紹

20.2 shell腳本結構和執行

20.3 date命令用法

20.4 shell腳本中的變量

20.1 shell腳本介紹

shell是一種腳本語言 aming_linux blog.lishiming.net

可以使用邏輯判斷、循環等語法

可以自定義函數

shell是系統命令的集合

shell腳本可以實現自動化運維,能大大增加我們的運維效率

在正式編寫shell腳本之前,建議凡是自定義的的腳本都放到/usr/local/sbin/目錄下,這樣做的目的時:一來可以更好地管理文檔;二來以後接管你工作的管理員都知道自定義腳本放在哪裏,方便維護。

20.2 shell腳本結構和執行

開頭需要加#!/bin/bash,表示接下來的命令在通過哪一個解釋器來操作的,表示該文件使用的時bash語法。在本機上如果不設置該行,你的機器能識別shell腳本,也可以執行。如果在其他機器上不一定能執行。

其他行以#開頭的行作為解釋說明

腳本的名字以.sh結尾,用於區分這是一個shell腳本

sh命令就是bash命令

技術分享圖片

執行方法有兩種

chmod +x 01.sh //給1.sh執行權限

./01.sh //這樣執行是因為腳本的文件頭有 #!/bin/bash,後面的命令已經被/bin/bash解析了

技術分享圖片

bash 1.sh

查看腳本執行過程 bash -x 01.sh

技術分享圖片

查看腳本是否語法錯誤 bash -n 01.sh

20.3 date命令用法

date +%Y:表示以四位數字格式打印年份

date +%y:表示以兩位數字格式打印年份

date +%m:表示月份

date +%d:表示日期

date +%H:表示小時

date +%M:表示分鐘

date +%S:表示秒

date +%w:表示星期。結果顯示0則表示周日

date +%W:表示今年的第幾周

date +%Y-%m-%d, date +%y-%m-%d 年月日

date +%H:%M:%S = date +%T 時間

date +%s 時間戳 //距離1970.1.1到現在過去多少

date -d @1504620492

date -d "+1day" 一天後

date -d "-1 day" 一天前

date -d "-1 month" 一月前

date -d "-1 min" 一分鐘前

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

cal:表示日歷

技術分享圖片

時間戳互換:

技術分享圖片

20.4 shell腳本中的變量

當腳本中使用某個字符串較頻繁並且字符串長度很長時就應該使用變量代替

使用條件語句時,常使用變量 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]

定義變量的格式為:“變量名=變量的值"。在腳本中引用變量時需要加上符號$


2018.4.17 16周5次課