天天看點

linux read 暫停,Linux的read指令

對于寫bash腳本的朋友,read指令是不可或缺的,需要實踐一下就可以了解read指令的大緻用途:

編寫一個腳本:

#!/bin/bash

# hao32 test read

echo -e "Please enter your test :"

read TESTREAD

echo $TESTREAD

試着運作下這個腳本,你就可以大緻了解read指令的用法,下面是轉載一篇read指令詳細的用法,大家參考參考啊,呵呵

作用

從标準輸入中讀取一行。

文法

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

[ VariableName ... ]

描述

read 指令從标準輸入中讀取一行,并把輸入行的每個字段的值指定給 shell 變量,用 IFS(内部字段分隔符)變量中的字元作為分隔符。VariableName 參數指定 shell 變量的名稱,shell 變量擷取輸入行一個字段的值。由VariableName 參數指定的第一個 shell 變量指定給每一個字段的值,由 VariableName 參數指定的第二個 shell 變量指定給第二個字段的值,以此類推,直到最後一個字段。如果标準輸入行的字段比相應的由 VariableName 參數指定的 shell 變量的個數多,把全部餘下的字段的值賦給指定的最後的 shell 變量。如果比 shell 變量的個數少,則剩餘的 shell 變量被設定為空字元串。

注意: 如果省略了 VariableName 參數,變量 REPLY 用作預設變量名。

由 read 指令設定的 shell 變量影響目前 shell 執行環境。

标志

-p 用 |& (管道,& 的記号名稱)讀取由 Korn shell 運作的程序的輸出作為輸入。

注:-p 标志的檔案結束符引起該程序的清除,是以産生另外一個程序。

-r 指定讀取指令把一個 (反斜杠) 處理為輸入行的一部分,而不把它作為一個控制字元。

-s 把輸入作為一個指令儲存在 Korn shell 的曆史記錄檔案中。

-u [ n ] 讀取一位數的檔案描述符号碼 n 作為輸入。檔案描述符可以用 ksh exec 内置指令打開。n 的預設值是 0,表示的是鍵盤。值 2 表示标準錯誤。

參數

VariableName?Prompt 指定一個變量的名稱和一個要使用的提示符。當 Korn shell 是互動式時,它将把提示符寫到标準錯誤,并執行輸入。Prompt 包含多于一個的字,必須用單引号或雙引号括起來。

VariableName... 指定一個或多個由空格分隔的變量名。

退出狀态

這個指令傳回下列出口值:

0 成功完成。

>0 檢測到檔案結束符或一個錯誤發生。

示例

下列腳本列印一個檔案,這個檔案中每行的第一個字段被移動到本行的末尾。

while read -r xx yy

do

print printf "%s %s/n" $yy $xx

done < InputFile讀取一行,把它分成字段,并使用 "Please enter: " 作為提示符,請輸入:

read word1?"Please enter:  " word2系統顯示:

Please enter:

You enter:

hello world變量 word1 的值應該是 "hello",變量 word2 應該是 "world."

為建立一個共同程序,用 print -p 寫到共同程序,并用 read -p 從共同程序中讀取輸入,請輸入:

(read; print "hello $REPLY")

print -p "world"

read-p line變量 line 的值應該是 "hello world."

為把輸入行的副本儲存為曆史檔案中的一個指令,請輸入:

read -s line < input_file如果輸入檔案包含 "echo hello world," ,那麼在曆史記錄檔案中将會把 "echo hello world" 儲存為一個指令。