1. 命令列引數
1.1 引數之間空格分隔,格式:$+position, e.g. $0, $1, $2, 其中$0表示指令碼名字,超過10個引數時,e.g. 第10個引數用$表示;
1.2 簡單示例:
1.3 通過建立軟連線的方式,同乙個指令碼,根據不同指令碼名字,執行不同指令碼內容,e.g.:
2. 命令列引數變數的處理
2.1 通過條件判斷,進行錯誤檢測:
2.2 通過shift命令,進行移動位置引數:
2.3 命令列引數選項處理:
2.3.1 簡單選項處理,e.g.:
2.3.2 分離選項和引數,e.g.:
2.3.3 處理帶值選項,e.g:
(備註:如上操作只能處理單個選項的時候,當出現選項合併的時候,e.g. --ab則無法處理)
2.3.4 getopt命令, 用於選項格式化,e.g:
#!/bin/sh
# b後面的冒號表示b選項帶有引數
2.3.5 當引數值帶有空格的時候,getopt命令則無法進行解析,需要用到getopts命令,e.g:
備註:optind:getopts使用optind作為索引,來處理下乙個需要處理的引數,記錄當前的狀態;
optarg:在上面的迴圈中,a,b兩個引數後面各有乙個冒號,冒號表示該輸入的引數後面還有乙個引數值,當getopts發現冒號後,會處理使用者輸入的引數值,這個引數值被儲存在optarg中。
3. 在指令碼中獲取使用者輸入 (分別通過重定向的方式和管道命令方式進行讀取)
shell指令碼學習 處理使用者輸入
當指令碼需要與執行指令碼的人員進行互動。bash shell提供了命令列引數 新增在命令後面的資料值 命令列選項 修改命令行為的單字元值 和直接讀取鍵盤輸入。向shell指令碼傳遞資料的最基本方式是使用命令列引數。讀取輸入的引數的變數為位置引數,位置引數通過標準數字表示,其中 0為程式名稱,1為第乙...
shell指令碼學習 處理使用者輸入
當指令碼需要與執行指令碼的人員進行互動。bash shell提供了命令列引數 新增在命令後面的資料值 命令列選項 修改命令行為的單字元值 和直接讀取鍵盤輸入。向shell指令碼傳遞資料的最基本方式是使用命令列引數。讀取輸入的引數的變數為位置引數,位置引數通過標準數字表示,其中 0為程式名稱,1為第乙...
shell指令碼學習筆記
學習筆記 1,檔案名字命名為 sh,字尾sh表明這是乙個bash指令碼檔案 2,shell指令碼的第一行如下 bin sh bin sh告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的shell程式 3,寫完指令碼後儲存檔案,然後將檔案變成可執行檔案 chmod x test.sh 4,以下是乙個...