ウェブサイト検索

Bashスクリプトでユーザーから入力を取得する方法 [高度なテクニック]


実行中にユーザーからの入力を受け取ることで、インタラクティブなスクリプトを作成できます。また、要件に応じて出力を操作するのにも役立ちます。ユーザーからの入力を受け取る簡単な方法がいくつかあります。そのため、中級者や上級者としては、より高度な方法を使用するのが最適です。しかし、たくさんのbashユーザーはbashスクリプトでユーザーからの入力を受け取るための高度な技術を学ぶ必要があります。したがって、このチュートリアルでは、それらすべてを簡単に説明します。

Bashスクリプトでユーザーから入力を取得する方法 [高度なテクニック]

read コマンドを使うと入力を受け取ることができますが、複数の入力を受け取ることができることを知っていますか? より詳しい情報を得るために、例を見てみましょう。たとえば、複数の(A、B、C、D、E)数字を使用して算術計算を行うスクリプトを作成したいとします:

#!/bin/bash

echo "Please enter three numbers"

read A B C D E

sum=$((A+B+C+D+E))

echo "Addition is $sum"

multiply=$((A*B*C*D*E))

echo "Multiplication is $multiply"

さあ、スクリプトを実行して、加算と乗算を計算するために数字を入力できます。

別のエコー文を作成したくない場合は、-pオプションを使用してreadコマンドに追加することができます:

#!/bin/bash

read -p "Please Enter Your Name and Age:" name age

if [ $age -lt 17 ]

then

echo "Sorry!! You are not eligible for the course"

else

echo "Great!! You are eligible for the course"

fi

上記のスクリプトでは、特定のコースに対する資格を得るために、ユーザーは少なくとも17歳でなければなりません。

標準入力を使用して入力を受け取る

高度な技術を一歩進めたい場合は、stdinの概念を使用できます。スクリプト内でstdinを使用して簡単なソリューションを得ることができます。例として、すでに料金を支払った適格な候補者のリストをフィルタリングしたいとします。候補者の名前、年齢、フォーム提出日、料金提出状況などの詳細を含むリストがあります。したがって、以下のスクリプトを使用して必要な詳細を取得できます:

#!/bin/bash

echo "details about the fees submission:"

cat /dev/stdin | cut -d' ' -f 1,4 | sort

このスクリプトは次の結果を提供します:

まとめ

これは、bashスクリプトでユーザーから入力を受け取るために試すことができる高度なテクニックについてのすべてです。このチュートリアルでは、入力を迅速に行うためのreadコマンドとstdinの異なるオプションについて説明しました。bashが初めての方や入力の受け取り方を知りたい方は、ぜひ私たちのウェブサイトをご覧ください。