複製鏈接
請複製以下鏈接發送給好友

read

(命令)

鎖定
read 命令從標準輸入中讀取一行,並把輸入行的每個字段的值指定給 shell 變量,用 IFS(內部字段分隔符)變量中的字符作為分隔符。
中文名
閲讀
外文名
read

目錄

read用途

從標準輸入中讀取一行。

read語法

read [ -p ][ -r ] [ -s ][ -u[ n ] ] [ VariableName?Prompt ]
[ VariableName ... ]

read描述

VariableName 參數指定 sh定給每一個字段的值,由 VariableName 參數指定的以此類推,直到最後一個字段。如果標準輸入行的字段比相應的由 VariableName 參數指定的 shell 變量的個數多,把全部餘下的字段的值賦給指定的最後的 shell 變量。如果比 shell 變量的個數少,則剩餘的 shell 變量被設置為空字符串
注意: 如果省略了 VariableName 參數,變量 REPLY 用作缺省變量名。
由 read 命令設置的 shell 變量影響當前 shell 執行環境。名稱,讀取由 Korn shell 運行的進程的輸出作為輸入。
注:-p 標誌的文件結束符引起該進程的清除,因此產生另外一個進程。
-r 指定讀取命令把一個 \ (反斜槓) 處理為輸入行的一部分,而不把它作為一個控制字符。
-s shell 的歷史記錄文件中。
-u [ n ] 讀取一位數的文件描述符號碼 n 作為輸入。文件描述符可以用 ksh exec 內置命令打開。n 的缺省值是 0,表示的是鍵盤。值 2 表示標準錯誤。

read參數

VariableName?Prompt 指定一個變量的名稱和一個要使用的提示符。當 Korn shell 是交互式時,它將把提示符寫到標準錯誤,並執行輸入。Prompt 包含多於一個的字,必須用單引號或雙引號括起來。
VariableName... 指定一個或多個由空格分隔的變量名。
退出狀態
這個命令返回下列出口值:
0 成功完成。
>0 檢測到文件結束符或一個錯誤發生。

read示例

1. 下列腳本打印一個文件,這個文件中每行的第一個字段被移動到本行的末尾。
while read -r xx yy
do
print printf "%s %s/n" $yy $xx
done < InputFile
2. 讀取一行,把它分成字段,並使用 "Please enter: " 作為提示符,請輸入:
read word1?"Please enter: " word2
系統顯示:
Please enter:
You enter:
hello world
變量 word1 的值應該是 "hello",變量 word2 應該是 "world."
3. 為創建一個共同進程,用 print -p 寫到共同進程,並用 read -p 從共同進程中讀取輸入,請輸入:
(read; print "hello $REPLY")
print -p "world"
read -p line
變量 line 的值應該是 "hello world."
4. 為把輸入行的副本保存為歷史文件中的一個命令,請輸入:
read -s line < input_file
如果輸入文件包含 "echo hello world," ,那麼在歷史記錄文件中將會把 "echo hello world" 保存為一個命令。
read的過去分詞形式
原形,只是讀音不同。