入力読み取り:
目的:
標準入力から 1 行を読み取るか、ファイル記述子 FD (ファイル記述子) から 1 行を読み取り、それをフィールドに分割します。
使用法:
read [-ers] [-a 配列] [-d デリミタ] [-i バッファテキスト] [-n 読み取られた文字数] [-N 読み取られた文字数] [ -pプロンプト] [-t タイムアウト] [-u ファイル記述子] [名前...]
よく使用されるオプション:
-a: (配列) 読み取った文字を単語に分割し、配列に格納します (0 から開始) )
#!/bin/ - ${variable[ ${variable[ ${variable[ ${variable[]}
<strong>运行效果:<br></strong>
は単語の分割に従って配列に配置され、インデックスは0から始まります<br>34 ew qr34 3qr wer er qw<br>1つ目:<br>34<br>2つ目:<br>ew<br>th3番号: <br>qr34<br> 4番目の番号: <br>3qr
-n: 指定された文字数を受信し、受信した文字数に達したら、すぐに入力状態を終了します
源码:
#- -n ${num}
<strong>运行效果:<br></strong>
-n read 10 を受け入れます <br>sgfgsngfdf<br> によって受信される 10 文字は次のとおりです: sgfgsngfdf
<br> -p : 読み取りコマンドの直後にプロンプトを指定でき、複数の変数に値を割り当てることができます
源码:
-p $num3
<strong>运行效果:<br></strong>
使用-p参数完成多个变量赋值: 请输入三个数字或字符:(用空格隔开)23 34 345 num1=23num2=34num3=345
<br>
<br> - r: いいえ バックスラッシュによる文字のエスケープを許可します
<br> -s: read による入力データを画面に表示しません
源码:
#- -p - ${password}
<strong>运行效果:<br></strong>
-s read による入力は画面に表示されません: <br>password: <br>パスワードは 3432 rq erewr w
<br> -t: 読み取りコマンドが入力を待機する秒数。タイマーが期限切れになると、ゼロ以外のステータスを返し、入力を待って終了します。
源码:
#- -t ${num}
<strong>运行效果:<br></strong>
は、タイムアウト後に待機を終了し、ゼロ以外の値を返します
-u: ファイル記述子 FD (ファイル記述子) から読み取ります。 。 <br>
補足内容:ファイル記述子FDファイル記述子は形式的には負でない整数です。実際、これは、プロセスごとにカーネルによって維持される、プロセスによって開かれたファイルのレコード テーブルを指すインデックス値です。プログラムが既存のファイルを開くか、新しいファイルを作成すると、カーネルはファイル記述子をプロセスに返します。プログラミングでは、一部の低レベル プログラミングはファイル記述子を中心に展開することがよくあります。ただし、ファイル記述子の概念は、多くの場合、UNIX や Linux などのオペレーティング システムにのみ適用されます。 慣例により、標準入力のファイル記述子は0、標準出力は1、標準エラーは2です。この規則は Unix カーネルの機能ではありませんが、一部のシェルや多くのアプリケーションがこの規則を使用しているため、カーネルがこの規則に従わない場合、多くのアプリケーションは動作しません。
ファイルからの読み取りの例:
<br>
test. |
<br>运行效果:
read接受文本作为输入 接收的文本字符是:#------------------------------------------ 接收的文本字符是:#------------------------------------------ 接收的文本字符是:# read接受文本作为输入 接收的文本字符是:echo " read接受文本作为输入" 接收的文本字符是:cat test.sh | while read line 接收的文本字符是:do 接收的文本字符是:echo 接收的文本字符是:echo "接收的文本字符是:"${line} 接收的文本字符是:done
以上がシェル -- 標準入出力 (読み取り&エコー)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。