- 1. XnConvert for Linux V1.10 多國語言官方安裝版
- 2. NirCmd(通過命令列指令執(zhí)行常用動(dòng)作) V2.6.0 綠色免...
- 3. Nitro PDF Reader 64BIT(多功能電子閱讀器) V2.0.0...
- 4. Nitro PDF Reader 32BIT(多功能電子閱讀器) V2.0.0...
- 5. AlReader2(體驗(yàn)最好的電子書閱讀器) V2.5 簡體中文...
- 6. Adobe Flash Player for Linux(Linux操作系統(tǒng)FLASH...
- 7. Adobe Flash Player for Linux最新官方免費(fèi)下載 V1...
- 8. Linux Kernel操作系統(tǒng)最新官方下載 V2.6.39.1
- 9. Foxit Reader Pro(簡單好用的PDF閱讀工具) V5.0.1 ...
- 10. Adobe Reader最新官方免費(fèi)下載 V10.0.1
充分利read命令在linux中發(fā)揮強(qiáng)大的作用
經(jīng)常寫bash腳本的朋友,read命令是不可缺少的。實(shí)踐一下就可以了解read命令的大致用途:
編寫一個(gè)腳本:
#!/bin/bash
# hao32 test read
echo -e "Please enter your test :"
read TESTREAD
echo $TESTREAD
試著運(yùn)行下這個(gè)腳本,你就可以大致了解read命令的用法,下面是轉(zhuǎn)載一篇read命令詳細(xì)的用法,大家參考參考啊,呵呵
作用
從標(biāo)準(zhǔn)輸入中讀取一行。
語法
read [ -p ][ -r ][ -s ][ -u[ n ] ] [ VariableName?Prompt ]
[ VariableName ... ]
描述
read 命令從標(biāo)準(zhǔn)輸入中讀取一行,并把輸入行的每個(gè)字段的值指定給 shell 變量,用 IFS(內(nèi)部字段分隔符)變量中的字符作為分隔符。VariableName 參數(shù)指定 shell 變量的名稱,shell 變量獲取輸入行一個(gè)字段的值。由VariableName 參數(shù)指定的第一個(gè) shell 變量指定給每一個(gè)字段的值,由VariableName 參數(shù)指定的第二個(gè) shell 變量指定給第二個(gè)字段的值,以此類推,直到最后一個(gè)字段。如果標(biāo)準(zhǔn)輸入行的字段比相應(yīng)的由 VariableName 參數(shù)指定的 shell 變量的個(gè)數(shù)多,把全部余下的字段的值賦給指定的最后的 shell 變量。如果比 shell 變量的個(gè)數(shù)少,則剩余的 shell 變量被設(shè)置為空字符串。
注意: 如果省略了 VariableName 參數(shù),變量 REPLY 用作缺省變量名。
由 read 命令設(shè)置的 shell 變量影響當(dāng)前 shell 執(zhí)行環(huán)境。
標(biāo)志
-p 用 |& (管道,& 的記號(hào)名稱)讀取由 Korn shell 運(yùn)行的進(jìn)程的輸出作為輸入。
注:-p 標(biāo)志的文件結(jié)束符引起該進(jìn)程的清除,因此產(chǎn)生另外一個(gè)進(jìn)程。
-r 指定讀取命令把一個(gè) \ (反斜杠) 處理為輸入行的一部分,而不把它作為一個(gè)控制字符。
-s 把輸入作為一個(gè)命令保存在 Korn shell 的歷史記錄文件中。
-u [ n ] 讀取一位數(shù)的文件描述符號(hào)碼 n 作為輸入。文件描述符可以用 ksh exec 內(nèi)置命令打開。n 的缺省值是 0,表示的是鍵盤。值 2 表示標(biāo)準(zhǔn)錯(cuò)誤。
參數(shù)
VariableName?Prompt 指定一個(gè)變量的名稱和一個(gè)要使用的提示符。當(dāng) Korn shell 是交互式時(shí),它將把提示符寫到標(biāo)準(zhǔn)錯(cuò)誤,并執(zhí)行輸入。Prompt 包含多于一個(gè)的字,必須用單引號(hào)或雙引號(hào)括起來。
VariableName... 指定一個(gè)或多個(gè)由空格分隔的變量名。
退出狀態(tài)
這個(gè)命令返回下列出口值:
0 成功完成。
>0 檢測到文件結(jié)束符或一個(gè)錯(cuò)誤發(fā)生。
示例
下列腳本打印一個(gè)文件,這個(gè)文件中每行的第一個(gè)字段被移動(dòng)到本行的末尾。
while read -r xx yy
do
print printf "%s %s/n" $yy $xx
done < InputFile讀取一行,把它分成字段,并使用 "Please enter: " 作為提示符,請(qǐng)輸入:
read word1?"Please enter: " word2系統(tǒng)顯示:
Please enter:
You enter:
hello world變量 word1 的值應(yīng)該是 "hello",變量 word2 應(yīng)該是 "world."
為創(chuàng)建一個(gè)共同進(jìn)程,用 print -p 寫到共同進(jìn)程,并用 read -p 從共同進(jìn)程中讀取輸入,請(qǐng)輸入:
(read; print "hello $REPLY")
print -p "world"
read-p line變量 line 的值應(yīng)該是 "hello world."
為把輸入行的副本保存為歷史文件中的一個(gè)命令,請(qǐng)輸入:
read -s line < input_file如果輸入文件包含 "echo hello world," ,那么在歷史記錄文件中將會(huì)把 "echo hello world"保存為一個(gè)命令。