ホームページ  >  記事  >  運用・保守  >  Linuxのreadコマンドって何に使うのですか?

Linuxのreadコマンドって何に使うのですか?

青灯夜游
青灯夜游オリジナル
2023-02-15 10:39:172357ブラウズ

Linux では、 read コマンドはキーボード入力を読み取るために使用されます。標準入力からデータ行を読み取り、入力行の各フィールドの値をシェル変数に割り当てることができます。リダイレクトを使用する場合、ファイル内のデータ行を読み取ることができます。構文は「read [parameter] [name ...]」です。

Linuxのreadコマンドって何に使うのですか?

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux read コマンドの紹介

Linux の read コマンドは、標準入力から行を読み取り、入力行の各フィールドを変換します。シェル変数に割り当てられます。

#構文

read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

パラメータ

##パラメータ-a-d-p#-e入力時にコマンド補完機能を使用できます。 -n の後に数字を付けると、入力テキストの長さを定義でき、非常に実用的です。 -rShield \。このオプションが使用できない場合、\ はエスケープ文字として使用されます。使用できる場合、\ は通常の文字になります。 -sログイン時のパスワード入力など、文字入力時に画面に表示されなくなる静音モード。 -t に続く秒数は、文字入力の待ち時間を定義します。 -ufd に続いて、exec で新たに開くことができるファイル記述子から読み取ります。 #説明
説明
の後に変数が続き、配列としてみなされて値が割り当てられます。デフォルトでは、スペースが区切り文字として使用されます。
の後には識別子が続きます。実際、終了の記号として役立つのはその後の最初の文字だけです。
の後にはプロンプト メッセージが続きます。つまり、プロンプト メッセージは入力前に出力されます。

read 内部コマンドは、標準入力から 1 行のデータを読み取るために使用されます。このコマンドはキーボード入力を読み取るために使用でき、リダイレクトを使用する場合はファイルからデータ行を読み取ることができます。

#コマンドの使用例を読む

1. 簡単な読み方

#!/bin/bash
echo "请您输入网站名: "  
#读取从键盘的输入  
read website  
echo "你输入的网站名是 $website"  
exit 0  #退出

2. ファイルの読み取り

read コマンドを呼び出すたびに、ファイル内のテキストの「1 行」が読み取られます。ファイルに読み取り可能な行がない場合、読み取りコマンドはゼロ以外のステータスで終了します。

cat コマンドを使用すると、結果を read コマンドを含む while コマンドに直接転送できます。

テスト ファイル test.txt の内容は次のとおりです。

AAAAAAAAAAAAAAAAAAAAAA

BBBBBBBBBBBBBBBBBBBBBB

CCCCCCCCCCCCCCCCCCCCCC

DDDDDDDDDDDDDDDDDDDD
====== ===== ===== Chuanzhi Podcast



スクリプトは次のとおりです。実行するにはスクリプトを xxx.sh に入れることができます

#!/bin/bash
count=1
cat test.txt | while read line      
# cat 命令的输出作为read命令的输入,read读到>的值放在line中
do
   echo "Line $count:$line"
   count=$[ $count + 1 ]          # 注意中括号中的空格。
done
echo "finish"
exit 0

3. 例:

read 1987name
从标准输入读取输入并赋值给变量1987name。
 
read first last
从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量first中,并将该行其他的输入放在变量last中。
 
read
从标准输入读取一行并赋值给特定变量REPLY。
 
read -a arrayname
把单词清单读入arrayname的数组里。
 
read -p "text"
打印提示(text),等待输入,并将输入存储在REPLY中。
 
read -r line
允许输入包含反斜杠。
 
read -t 3
指定读取等待时间为3秒。
 
read -n 2 var
从输入中读取两个字符并存入变量var,不需要按回车读取。
 
read -d ":" var
用定界符“:”结束输入行。
端末でのパスワード入力時にパスワードを表示させない例を追加します。
方法1:
 
#!/bin/bash
read -p "输入密码:" -s pwd
echo
echo password read, is "$pwd"
 
方法2:
 
#!/bin/bash
stty -echo
read -p "输入密码:" pwd
stty echo
echo
echo 输入完毕。

このうち、オプション

-echo は出力が端末に送信されることを禁止しますが、オプション echo

は出力の送信を許可します。

注: echo コマンドを使用して変数値を出力する場合は、変数名の前に記号 $ を追加する必要があります。それ以外の場合、echo は変数名を直接出力します。

関連する推奨事項: 「

Linux ビデオ チュートリアル

以上がLinuxのreadコマンドって何に使うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。