第四章 處理使用者輸入

2021-10-19 15:20:47 字數 1398 閱讀 7056

特殊引數變數

移動變數

處理選項

獲得使用者輸入

./addem 10 20

本例向指令碼addem傳遞了兩個命令列引數。指令碼會通過特殊的變數來處理命令列引數。

bash shell會將一些稱為位置引數(positional parameter)的特殊變數分配給輸入到命令列中的所有引數。這也包括shell所執行的指令碼名稱。位置引數變數是標準的數字:$0是程式名,$1是第乙個引數,$2是第二個引數,依次類推,知道第九個引數$9。

如果指令碼需要的命令列引數不止9個,仍然可以處理,需要修改一下變數名。在第9個變數之後,必須在變數數字周圍加上花括號,比如$。

$0引數獲取shell在命令列啟動的指令碼名,是完整的指令碼路徑。使用basename獲取不包含路徑的指令碼名。

在指令碼中使用命令列引數,如果不加引數執行,會出問題。

當指令碼認為引數變數中會有資料而實際上並沒有時,指令碼很可能會產生錯誤訊息。在使用引數前要檢查其中是否存在資料

if [ -n 「$1」 ]

特殊變數$#含有指令碼執行時攜帶的命令列引數的個數。

$* 和 $@變數可以用來訪問所有的引數。這兩個變數都能夠在單個變數中儲存所有的命令列引數。

bash shell 的shift命令能夠用來操作命令行引數。跟字面上的意思一樣,shift命令會根據他們的相對位置來移動命令列引數。

在使用shift命令時,預設情況下它會將每個引數變數向左移動乙個位置。所以,變數$3的值移動到$2中,變數$2的值會移動到$1中,而變數$1的值會被刪除(變數$0的值,也就是程式名,不會改變)。

遍歷命令列引數的另乙個好方法,尤其是在不知道有多少引數的時。

使用shift命令的時候要小心。如果某個引數被移出,它的值就被丟棄了,無法再恢復。

read

-p選項,允許在read命令中指定提示符

-t選項指定了read命令等待輸入的秒數。當計時器過期後,read命令會返回乙個非零退出狀態碼。

read -n1 告訴read命令在接受單個字元後退出。

隱藏方式讀取

-s選項可以避免read命令的輸入的資料出現在顯示器上(實際上,資料會被現實,只是read命令會將文字顏色設定成跟背景顏色一樣)。

可以用read命令讀取linux系統上檔案裡儲存的資料。每次呼叫read命令,都會從檔案中讀取一行文字。當檔案中再沒有內容時,read命令會退出並返回非零退出狀態碼。

count=1

cattest

|while

read line

doecho

"line $count:$line"

count=$[

$count + 1 ]

done

echo

"finished processing the file"

第四章 使用者管理

一 使用者管理概念 1 使用者管理的範圍 使用者帳號管理 組帳號管理 使用者 組帳號的許可權管理 使用者帳號的環境設定 2 linux 系統使用者管理特點 多使用者平台 alt f1 12 單使用者模式中無需使用者 管理方法有兩種 命令 圖形工具 二 使用者帳號的管理 1 使用者帳號的分類 超級使用...

Linux 第四章 使用者管理

4使用者和使用者組 使用者 使用作業系統的人 使用者組 具有相同系統許可權的一組使用者 etc group 儲存大年系統中所有使用者組資訊 group x 123 abc,def,xyz 組名稱 組密碼佔位符 組編號 組中使用者名稱列表 etc gshadow 儲存當前系統中使用者組的密碼資訊 gr...

第四章 jQuery文件處理

一 建立元素 1.html 建立乙個dom元素 2.html props 建立乙個dom元素,並給予props屬性 事件或方法 例 click function 二 內部插入 3.selector1 prepend html 在匹配元素selector1元素集合的每個元素開頭插入 html 4.se...