Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋樑。Shell 既是一種命令語言,又是一種程序設計語言。linux
- shell是一種腳本語言;
- 可使用邏輯判斷、循環等語法;
- 可自定義函數;
- shell是系統命令的集合;
- shell腳本能夠實現自動化運維,能大大增長咱們的運維效率;
- 開頭須要「#!/bin/bash「;
- 腳本內容中以#開頭的行做爲解釋說明;
- 編寫腳本時備註:做者、時間、功能等信息,方便以後查看;
- 腳本的名字用「.sh」結尾,用於區分這是一個shell腳本;
一、做爲可執行程序:給腳本添加執行權限
chmod a+x test.sh
,而後直接執行該腳本./test.sh
;
2,做爲解釋器參數:使用sh執行# sh test.sh
;shell
-x:
sh -x test.sh
查看腳本執行過程
-n:sh -n test.sh
檢測語法錯誤bash
date命令用於顯示或設置系統時間與日期。
命令選項:運維
-d :顯示字符串指定的日期與時間(字符串先後必須加上雙引號)
-s:根據字符串來設置時間與日期(字符串先後必須加雙引號)ide
命令實例:函數
[root@zlinux-01 ~]# date //顯示當前日期時間 2018年 04月 17日 星期二 19:54:50 CST [root@zlinux-01 ~]# cal //當前日曆 四月 2018 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [root@zlinux-01 ~]# date +%Y //顯示年份 2018 [root@zlinux-01 ~]# date +%y //年份簡寫 18 [root@zlinux-01 ~]# date "+%Y-%m-%d %H:%M:%S %w" //年月日,時分秒,星期 2018-04-17 19:58:30 2 [root@zlinux-01 ~]# date +%F //完整日期的另外一種顯示 2018-04-17 [root@zlinux-01 ~]# date +%W //一年中的第幾周 16 [root@zlinux-01 ~]# date +%T //當前時間 20:01:19 [root@zlinux-01 ~]# date "+%F %T" //日期時間 2018-04-17 20:01:45 [root@zlinux-01 ~]# date +%s //時間戳(顯示從1970年1月1日00:00:00到目前經歷的秒數) 1523966522 [root@zlinux-01 ~]# date -d @1523966522 //時間戳轉化成具體日期 2018年 04月 17日 星期二 20:02:02 CST [root@zlinux-01 ~]# date +%s -d "2018-04-17 20:04:59" //日期轉化爲時間戳 1523966699 [root@zlinux-01 ~]# date -d "-1 year" +%Y //前一年 2017 [root@zlinux-01 ~]# date -d "-1 month" +%m //前一月 03 [root@zlinux-01 ~]# date -d "-1 day" +%d //前一天 16 [root@zlinux-01 ~]# date -d "2 year 2month 2 day" +%Y-%m-%d //當前日期的下2年的下2月下2天 2020-06-19
- 當腳本中使用某個字符串,屢次頻繁而且字符串長度很長時,就應該使用變量代替
- 使用條件語句時,常使用變量 if [ $a -gt 1];then ...;fi
- 引用某個命令的結果時,用變量替代 n=wc -l 1.txt
- 寫和用戶交互的腳本時,變量也是必不可少的 read -p "lnput a number:" n; echo $n 若是沒有寫這個n, 能夠直接使用$REPLY
- 內置變量 $0,$1,$2... $0表示腳本自己,$1 第一個參數,$2第二個... $#: 表示參數個數
- 數學運算a=1;b=2;c=$($a+$b)或者$[$a+$b]