六十七、shell腳本介紹、shell腳本結構和執行、date命令用法、shell腳本中的變量
一、shell腳本介紹
shell是一種腳本語言 aming_linux blog.lishiming.net
可以使用邏輯判斷、循環等語法
可以自定義函數
定義函數的目的:為了簡化,為了減少重復的代碼。
shell是系統命令的集合
shell腳本可以實現自動化運維,能大大增加我們的運維效率
二、shell腳本結構和執行
腳本示例:
#!/bin/bash
echo "123"
w
ls
開頭需要加#!/bin/bash,這個腳本在當前機器執行能識別裏面的命令,換一臺機器也許就不能識別執行了,所以需要加上這行。下面寫的命令是通過/bin/bash這個解釋器來解析執行的,它的作用就在於此。
第二行起以#開頭的行就是解釋說明
腳本的名字以.sh結尾,用於區分這是一個shell腳本
執行方法有兩種:
# mkdir shell
# cd shell/
# sh 01.sh
# chmod a+x 01.sh
# ./01.sh
查看腳本執行過程 bash -x 1.sh
查看腳本是否語法錯誤,但是檢查不出來不存在的命令 bash -n 1.sh
三、date命令用法
date +%Y-%m-%d = date +%F 年月日
date +%y-%m-%d 年月日
Y:2018、y:18。年份兩位或四位
m:月份、M:分鐘。m:05,h:5月
d:日、D:05/30/18(18年5月30日)
date +%H:%M:%S = date +%T 時間
H:小時
M:分鐘
S:秒鐘、s:時間戳,距離1970年1月1日0點0分過去了多少秒。
date +%s 時間戳
cal:看整月的日歷。
date -d @1504620492 @後面跟時間戳
date -d "+1day" 一天後
date -d "-1 day" 一天前
date -d "-1 month" 一月前
date -d "-1 month" +%F
date -d "-1 year " 一年前
date -d "-1 year" +%F
date -d "-1 min" 一分鐘前
date -d "-1 hour" +%T
date +%w, date +%W 星期
w:周,周一周二。W:今年的第幾周。
四、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]
六十七、shell腳本介紹、shell腳本結構和執行、date命令用法、shell腳本中的變量