1. 程式人生 > 其它 >linux編寫shell指令碼記錄

linux編寫shell指令碼記錄

  shell 指令碼第一行:

   #!/bin/bash   指令碼宣告,告訴雙系統使用哪種shell直譯器來執行該指令碼。

  shell 接收引數方式如下:

$0 指令碼名稱

$# 總共的引數個數

$* 所有位置的引數值

$1 第一個引數的值, ${10} 是第10個引數

$? 顯示上一次命令執行的返回值

  if 判斷條件格式 [ 條件表示式 ]。

判斷使用者的引數   linux 0為真 非0為假

[ 條件表示式 ] 測試語句的格式,兩邊均有一個空格!!!

檔案測試語句    -d 測試檔案是否為目錄型別  -e 測試檔案是否存在 -f 判斷是否為一般檔案

邏輯測試語句    
&&前面成功才執行後面 ||前面失敗才執行後面 !非 整數值比較語句 -eq 是否等於 -ne不等於 -gt 大於 -lt小於 -le小於或者等於 -ge大於或者等於 字串比較語句 =字串內容相等 !=字串內容不相等 -z字串是否為空

  if 語句使用的關鍵字:

if —— then —— elif —— then —— else —— fi

  eg: 如果目錄不存在則建立目錄:

if [ ! -d $DIR ]
then
    mkdir -p $DIR
fi
等價於
if [ ! -d $DIR]; then
    mkdir -p $DIR
fi

  for 迴圈語句:

for 變數名 in 取值列表
do
    命令序列
done

  while 迴圈語句:

while 條件測試操作
do
    命令序列
done

  shell 通過 read 關鍵字讀取標準輸入的資料

read -sp "請輸入年齡:" age   
read讀取標準輸入,並賦值給 age 。 
引數 -p 是允許提示資訊 
參書 -s 是輸入的資料不顯示在命令終端上(輸入密碼等敏感資訊加上 -s)

  case 語句:

case 變數名 in
    條件1)
        執行語句
        ;;
    *)
        非條件1則執行此處語句
esac