1. コマンドの紹介 read コマンドは、シェルの組み込みコマンドで、標準入力または -u オプションで指定されたファイル記述子から 1 行を読み取り、読み取った 1 行を IFS 変数に従って複数のフィールドに分割し、分割されたフィールドをそれぞれ指定された変数リスト var_name に割り当てるために使用されます。最初のフィールドは最初の変数 var_name1 に割り当てられ、2 番目のフィールドは 2 番目の変数 var_name2 に割り当てられ、以下同様に続きます。指定された変数名がフィールド数より少ない場合、セパレータとともに追加のフィールドが最後の var_name に割り当てられます。指定された変数コマンドがフィールド数より多い場合、追加の変数割り当ては空になります。 var_name が指定されていない場合、分割後のすべてのフィールドは特定の変数 REPLY に格納されます。もちろん、変数だけでなく配列も割り当てることができます。 IFS (内部フィールド区切り) 変数は、シェルの組み込み環境変数であり、read コマンドによって 1 行を複数のフィールドに分割するために使用されます。デフォルト値は です。 REPLY 変数もシェルの組み込み環境変数です。read コマンドで受信変数が指定されていない場合、この変数は read コマンドによって読み取られた 1 行のコンテンツを受信するために使用されます。 2. コマンド形式 読み取り [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...] 3. オプションの説明 -a [aname]: 配列インデックス 0 から始まる、指定された配列に分割フィールドを順番に格納します。 -d [delim]: 識別子が続きます。最初の文字のみが有用で、行末の改行文字を置き換えるために使用されます。 -e: 入力時にコマンド補完機能を使用できます。また、Tab キーを使用して、現在のディレクトリ内のファイルを自動的に補完できます。 -i [text]:行の読み取りに readline が使用されている場合、編集を開始する前にテキストが編集バッファーに配置されます。 -n [nchars]: 数字が続き、行全体を読み取る代わりに入力テキストの長さを定義します。 -N [nchars]: 数字が続き、行全体を読み取る代わりに入力テキストの長さを定義します。ただし、行が nchars 文字未満の場合、行区切りは無視され、次の行が読み取られます -p [prompt]: 端末から入力を読み込むときに、入力の前にプロンプト メッセージを出力します -r: バックスラッシュ \ をシールドします。このオプションが使用できない場合は、\ がエスケープ文字として使用されます。使用できる場合は、\ は通常の文字です -s: クワイエット モード。ログイン時のパスワード入力など、文字を入力すると、画面に表示されなくなります -t [timeout]: 文字入力の待機時間を定義する秒数が続きます -u [fd]: ファイル記述子 fd が続き、ファイル記述子から読み取られます 4. 一般的な例 (1) 変数が指定されていない場合、readは渡された値をREPLYに渡し、REPLYが呼び出されている限り参照することができます。 [root@TENCENT64 ~]# 読み取り;echo "\$REPLY:$REPLY" ダブルブ $返信:dablelv (2)Readは端末から読み取る際のプロンプトを指定する。 [root@TENCENT64 ~]# read -p"パスワードを入力してください:";echo "\$REPLY:$REPLY" パスワードを入力してください:123456 $返信:123456 (3) -tパラメータは、読み取りコマンドが入力を待機する秒数を指定します。タイマーが切れると、読み取りコマンドはゼロ以外の終了ステータスコードを返します。 #!/bin/bash if read -t 5 -p "ウェブサイト名を入力してください:" name それから echo "入力したウェブサイト名は $website です" それ以外 echo "\n申し訳ありませんが、入力がタイムアウトしました。" フィ 終了 0 入力なしでプログラムを実行し、5 秒間待機します。
(4)入力時間の制御に加えて、-nオプションを使用して入力文字数を制御することもできます。入力した文字数があらかじめ設定した数に達すると自動的に終了し、入力したデータを変数に代入します。たとえば、2 つの入力のみを受け取った後に終了します。 #!/bin/bash read -n2 -p "2文字を入力してください: " 任意 echo "\n入力した2文字は: $any" 終了 0 (5)-sオプションは、入力データがコマンド端末に表示されないようにします。(実際には入力内容は表示されますが、readコマンドはテキストの色を背景と同じ色に設定します。)このオプションは、パスワードを入力するためによく使用されます。 #!/bin/bash read -s -p "パスワードを入力してください:" pass echo "\n入力したパスワードは $pass です" 終了 0 プログラムの実行後、パスワードは表示されません。
(6)ファイルの読み込み read コマンドを呼び出すたびに、ファイルから 1 行のテキストが読み取られます。ファイルから読み取る行がなくなると、読み取りコマンドはゼロ以外のステータスで終了します。 var1 var2 を読み取り中 する $var1 $var2をエコーする 完了 < file.txt 上記は Linux の read コマンドの使用に関する詳細な内容です。Linux の read コマンドの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
<<: JavaScript ループトラバーサルの 24 種類のメソッドをすべてご存知ですか?
>>: MySQL InnoDB テーブルスペース暗号化の例の詳細な説明
注: システムは Ubuntu 14.04LTS、32 ビット オペレーティング システムです。Py...
最近、モバイル プロジェクトの開発方法を学ぶために vue を使用し、スクロールには better-...
この記事では、MySQL が条件に基づいてデータをクエリし、別のテーブルに更新する方法を例を使用して...
カリで再現まず、必要なvim.basicファイルにsuid権限を設定します。 chmod u+s /...
1. 計算属性とは何ですか? 簡単に言えば、計算された結果が属性に保存されるもので、キャッシュとして...
目次実験環境インストールと展開データベースをインストールして設定します (ここでは mariadb ...
1. まずデータベースサーバーを停止しますサービスmysqld停止2.vim /etc/my.cnf...
MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...
この記事の例では、ドロップダウンリスト選択ボックスを実装するためのJavaScriptの具体的なコー...
この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...
この記事では、ソシュールの言語哲学などの理論に基づいて、CSS の class 属性は不要であると主...
Linux 仮想マシン: VMware + Ubuntu 16.04.4 Windows ネイティブ...
序文今日、Xianyuを閲覧していたとき、各行の高さが同じではないことに気付きました。調べてみると、...
Linux サーバーのホスト ファイルの構成hosts ファイルは、Linux システム内の IP ...
問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...