はじめに
この実験(Lab)では、Linux のreadコマンドを使用してユーザー入力を取得し、変数を格納する方法を学びます。また、readコマンドを使用してユーザー入力を検証する方法も学びます。この実験では、readコマンドの目的と構文、ユーザー入力を読み取って変数に格納する方法、およびユーザー入力を検証する方法について説明します。
readコマンドは Linux の組み込みコマンドであり、インタラクティブなシェルスクリプトでよく使用されます。これにより、ユーザー入力を取得して変数に格納し、スクリプトやプログラムで使用できます。
readコマンドの目的と構文を理解する
このステップでは、Linux のreadコマンドの目的と構文について学びます。readコマンドは、ユーザー入力を取得して変数に格納するために使用されます。
readコマンドの基本的な構文は次のとおりです。
read [options] [variable_name]
ここで、[options]はreadコマンドで使用できるオプションのフラグであり、[variable_name]はユーザー入力が格納される変数の名前です。
readコマンドの一般的なオプションには、以下が含まれます。
-p: ユーザー入力を待つ前にプロンプトを表示します。-s: ユーザーの入力を表示しません。-n: 指定された文字数のみを読み取ります。-t: 読み取り操作のタイムアウトを秒単位で指定します。
例:
read -p "Enter your name: " name
echo "Hello, $name!"
出力例:
Enter your name: John
Hello, John!
この例では、readコマンドはユーザーに名前の入力を促し、入力はname変数に格納されます。その後、echoコマンドはname変数の値を使用して挨拶を表示します。
ユーザー入力を読み取り、変数を格納する
このステップでは、readコマンドを使用してユーザー入力を取得し、変数を格納する方法を学びます。
ユーザー入力を読み取り、変数を格納するには、次の構文を使用できます。
read variable_name
ここで、variable_nameはユーザー入力が格納される変数の名前です。
例:
echo "What is your favorite color?"
read favorite_color
echo "Your favorite color is $favorite_color."
出力例:
What is your favorite color?
blue
Your favorite color is blue.
この例では、ユーザーはお気に入りの色の入力を求められ、入力はfavorite_color変数に格納されます。その後、echoコマンドはfavorite_color変数の値を使用してメッセージを表示します。
また、readコマンドで-pオプションを使用して、ユーザーにプロンプトを表示することもできます。
read -p "Enter your age: " age
echo "You are $age years old."
出力例:
Enter your age: 30
You are 30 years old.
この例では、-pオプションを使用して、ユーザー入力を待つ前に「Enter your age: 」プロンプトを表示し、入力はage変数に格納されます。
readコマンドでユーザー入力を検証する
このステップでは、readコマンドを使用してユーザー入力を検証する方法を学びます。
ユーザー入力を検証する一般的な方法の 1 つは、readコマンドとwhileループを使用することです。これにより、有効な応答が提供されるまで、ユーザーに入力を継続的に促すことができます。
例:
while true; do
read -p "Enter a number between 1 and 10: " num
if [[ "$num" -ge 1 && "$num" -le 10 ]]; then
echo "You entered: $num"
break
else
echo "Invalid input. Please try again."
fi
done
出力例:
Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7
この例では、readコマンドはwhileループ内で使用され、1 から 10 の間の数値を入力するまで、ユーザーに入力を継続的に促します。if文はユーザーの入力をチェックし、有効な場合はbreakコマンドを使用してループを終了します。入力が無効な場合は、エラーメッセージが表示され、ループが継続します。
また、readコマンドを-nオプションと組み合わせて、ユーザーが入力できる文字数を制限したり、-tオプションを使用して入力のタイムアウトを設定したりすることもできます。
例:
read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"
出力例:
Enter 'y' or 'n': y
You entered: y
この例では、-n 1オプションはユーザーの入力を 1 文字に制限し、-pオプションはプロンプトを表示します。
まとめ
この実験(Lab)では、ユーザー入力を取得して変数に格納するために使用される Linux のreadコマンドの目的と構文について学びました。また、ユーザー入力を読み取り、変数を格納する方法、および-pオプションを使用してユーザーにプロンプトを表示する方法についても学びました。最後に、readコマンドを使用してユーザー入力を検証する方法を学びました。
readコマンドには、プロンプトを表示するための-p、ユーザーの入力を非表示にするための-s、指定された文字数のみを読み取るための-n、および読み取り操作のタイムアウトを指定するための-tなど、いくつかのオプションフラグがあります。これらのフラグを使用して、ニーズに合わせてreadコマンドの動作をカスタマイズできます。



