Linux的read命令

來源:互聯網
上載者:User

對於寫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" 儲存為一個命令。

歡迎轉載本文,請註明來自:http://www.linuxsense.org

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.