1. 程式人生 > >day 69 shell指令碼的執行與變數

day 69 shell指令碼的執行與變數

20.1 shell指令碼介紹

  • shell是一種指令碼語言 
  • 可以使用邏輯判斷、迴圈等語法
  • 可以自定義函式
  • shell是系統命令的集合
  • shell指令碼可以實現自動化運維,能大大增加我們的運維效率
20.2 shell指令碼結構和執行
  • 開頭需要加#!/bin/bash
  • 以#開頭的行作為解釋說明
  • 指令碼的名字以.sh結尾,用於區分這是一個shell指令碼
  • 執行方法有兩種
chmod +x 1.sh; ./1.sh bash 1.sh
  • 檢視指令碼執行過程 bash -x 1.sh
  • 檢視指令碼是否語法錯誤  bash -n 1.sh
20.3 date命令用法
  • date  +%Y-%m-%d, date +%y-%m-%d 年月日
  • date  +%H:%M:%S = date +%T 時間
  • date +%s  時間戳
  • date -d @1504620492
  • date -d "+1day"   一天後
  • date -d "-1 day"  一天前
  • date -d "-1 month" 一月前
  • date -d "-1 min"  一分鐘前
  • date +%w, date +%W 表星期
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]