linux編寫shell指令碼記錄
阿新 • • 發佈:2022-05-26
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