Shell腳本介紹
shell是一種腳本語言
可以使用邏輯判斷、循環等語法
可以自定義函數
shell是系統命令的集合
shell腳本可以實現自動化運維,能大大增加我們的運維效率
Shell腳本結構和執行
開頭需要加#!/bin/bash
以#開頭的行作爲解釋說明
腳本的名字以.sh結尾,用於區分這是一個shell腳本
執行方法有兩種
chmod +x 1.sh; ./1.sh
bash 1.sh
查看腳本執行過程 bash -x 1.sh
查看腳本是否語法錯誤 bash -n 1.sh
date命令用法
[root@localhost]# date
Fri Apr 20 19:13:31 CST 2018
[root@localhost]# date +%y 小y表示年
18
[root@localhost]# date +%Y 大Y的年顯示得更全
2018
[root@localhost]# date +%m 小m表示月份
07
[root@localhost]# date +%M 大M表示分鐘
14
[root@localhost]# date +%d 小D表示天
11
[root@localhost]# date +%D 大D顯示得更全面
07/11/08
[root@localhost]# date +%Y%m%d 這個格式顯示年月日
20180711
[root@localhost]# date +%F 大F的作用
2018-07-11
[root@localhost]# date +%H 大H表示小時
19
[root@localhost]# date +%s 表示時間戳
1524222940
[root@localhost]# date +%S 大S表示秒
45
[root@localhost]# date +%T 大T表示時秒分
19:16:58
[root@localhost]# date +%w 小w表示一個星期的周幾
3
[root@localhost]# date +%W 大W表示一年的第幾周
28
[root@localhost]# date -d "-1 day" +%F -1 day表示前一天
2018-07-11
[root@localhost]# date -d "-1 month" +%F -1 month 表示前一個月
2018-06-11
[root@localhost]# date -d "-1 years" +%F -1 years 表示前一年
2017-07-11
[root@localhost]# date +%s #時間戳
1531378819
[root@localhost]# date -d @1531378819 #通過時間戳換算出時間
2018年 07月 11日 星期三 20:00:19 CST
[root@localhost]# date +%s -d "2018-07-11 20:00:19" #通過時間戳算出時間
1531378819
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]