このトピックでは、端末とスクリプトからユーザー入力を読み取る方法を学習します。
Bash ユーザー入力を読み取るには、組み込みの Bash コマンドを使用します。 読む 。ユーザーからの入力を受け取り、それを変数に割り当てます。 Bash シェルからは 1 行だけを読み取ります。以下はその実装の構文です。
構文
read
指定された例に従って、Bash スクリプトからユーザー入力を読み取ります。
例 1:
この例では、read コマンドを使用して、Bash スクリプトから単一変数と複数変数の両方を読み取ります。
プログラム:
#!/bin/bash # Read the user input echo 'Enter the user name: ' read first_name echo 'The Current User Name is $first_name' echo echo 'Enter other users'names: ' read name1 name2 name3 echo '$name1, $name2, $name3 are the other users.'
Bash コンソールを参照してください。
出力:
read コマンドで変数を渡さなかった場合はどうなりますか?
read コマンドで変数を渡さない場合は、という組み込み変数を渡すことができます。 返事 ($ 記号を接頭辞として付ける必要があります) 入力を表示する間。以下のプログラムを使用して説明できます。
Javaのプライムプログラム
プログラム:
#!/bin/bash # using read command without any variable echo 'Enter name : ' read echo 'Name : $REPLY'
Bash コンソールの場合:
出力:
例 2:
この例では、同じプロンプトに入力を入力します。 -p コマンドラインオプション 次のように:
read -p PROMPT
プログラム:
#!/bin/bash read -p 'username:' user_var echo 'The username is: ' $user_var
Bash コンソールを参照してください。
出力:
例 3:
この例では、入力をサイレント モードに保ち、コマンド ラインでのユーザー入力が他のユーザーには隠されるようにします。
シングルトン設計パターンJava
したがって、通常は次のようにコマンド ライン オプション (-s、-p) を使用して、ユーザー名を渡し、パスワードを非表示にします (サイレント モード)。
read -sp PROMPT
ここで、-s を指定すると、ユーザーはサイレント モードで入力を維持でき、-p を指定すると、新しいコマンド プロンプトで入力できます。
Java文字列をブール値に変換
プログラム:
#!/bin/bash read -p 'username : ' user_var read -sp 'password : ' pass_var echo echo 'username : ' $user_var echo 'password : ' $pass_var
Bash コンソールを参照してください。
出力:
注: 5 時番目スクリプトの行では、echo コマンドで空白の行を指定しました。空白にしないと、以下の画像のように、パスワードとユーザー名の両方が同じプロンプトに出力されるためです。
したがって、空の echo コマンド ラインを追加してスクリプトを作成します。
例 4: この例では、配列を使用して複数の入力を入力します。したがって、次のように -a コマンド ライン オプションを使用します。
read -a
どこ -a スクリプトが配列を読み取るのに役立ち、variable_name は配列を参照します。
プログラム:
#!/bin/bash # Reading multiple inputs using an array echo 'Enter names : ' read -a names echo 'The entered names are : ${names[0]}, ${names[1]}.'
Bash コンソールのコードを参照してください。
出力: