首頁 運維 linux運維 介紹linux中read的用法

介紹linux中read的用法

Sep 04, 2017 pm 03:38 PM
linux read 用法

1、基本讀取

read指令接收標準輸入(鍵盤)的輸入,或其他檔案描述符的輸入(後面在說)。得到輸入後,read指令將資料放入一個標準變數中。下面是 read指令

的最簡單形式::

#!/bin/bash
echo -n "Enter your name:"   //参数-n的作用是不换行,echo默认是换行
read  name                   //从键盘输入
echo "hello $name,welcome to my program"     //显示信息
exit 0                       //退出shell程序。
//********************************
登入後複製

由於read指令提供了-p參數,允許在read指令列中直接指定一個提示。

所以上面的腳本可以簡寫成下面的腳本::

#!/bin/bash
read -p "Enter your name:" name
echo "hello $name, welcome to my program"
exit 0
登入後複製

在上面read後面的變數只有name一個,也可以有多個,這時如果輸入多個數據,則第一個資料給第一個變量,第二個資料給第二個變量,如果輸入資料個數過多,則最後所有的值都給第一個變數。如果太少輸入不會結束。

//*****************************************

在read命令列中也可以不指定變數.如果不指定變量,那麼read指令會將接收到的資料放置在環境變數REPLY中。

例如::

read -p "Enter a number"

環境變數REPLY中包含輸入的所有數據,可以像使用其他變數一樣在shell腳本中使用環境變數REPLY.

2、計時輸入.

使用read指令存在潛在危險。腳本很可能會停下來一直等待使用者的輸入。如果無論是否輸入資料腳本都必須繼續執行,那麼可以使用-t選項指定 計時器。

-t選項指定read指令等待輸入的秒數。當計時滿時,read指令傳回一個非零退出狀態;

#!/bin/bash
if read -t 5 -p "please enter your name:" name
then 
echo "hello $name ,welcome to my script"
else
echo "sorry,too slow"
fi
exit 0
登入後複製

除了輸入時間計時,還可以設定read指令計數輸入的字元。當輸入的字元數目達到預定數目時,自動退出,並將輸入的資料賦值給變數。

#!/bin/bash
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y)
  echo "fine ,continue";;
N | n)
  echo "ok,good bye";;
*)
 echo "error choice";;
esac
exit 0
登入後複製

此範例使用了-n選項,後接數值1,指示read指令只要接受到一個字元就退出。只要按下一個字元進行回答,read指令立即

接受輸入並將其傳遞給變數。無需按回車鍵。

 

3、默讀(輸入不顯示在監視器上)

有時會需要腳本使用者輸入,但不希望輸入的資料顯示在監視器上。典型的例子就是輸入密碼,當然還有很多其他需要隱藏的資料。

-s選項能夠使read指令中輸入的資料不會顯示在監視器上(實際上,資料是顯示的,只是 read指令將文字顏色設定為與背景相同的顏色)。

#!/bin/bash
read  -s  -p "Enter your password:" pass
echo "your password is $pass"
exit 0
登入後複製

4、讀取檔案

最後,也可以使用read指令讀取Linux系統上的檔案。

每次呼叫read指令都會讀取檔案中的"一行"文字。當檔案沒有可讀的行時,read指令將以非零狀態退出。

讀取檔案的關鍵是如何將文字中的資料傳送給read指令。

最常用的方法是對檔案使用cat指令並透過管道將結果直接傳送給包含read指令的 while指令

範例::

#!/bin/bash
count=1    //赋值语句,不加空格
cat test | while read line        //cat 命令的输出作为read命令的输入,read读到的值放在line中
do
   echo "Line $count:$line"
   count=$[ $count + 1 ]          //注意中括号中的空格。
done
echo "finish"
exit
登入後複製

以上是介紹linux中read的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

vscode上一步下一步快捷鍵 vscode上一步下一步快捷鍵 Apr 15, 2025 pm 10:51 PM

VS Code 一步/下一步快捷鍵的使用方法:一步(向後):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

vscode終端命令不能用 vscode終端命令不能用 Apr 15, 2025 pm 10:03 PM

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)

See all articles