一行読みの確認[閉じる]

一行読みの確認[閉じる]

私はこれreadをしました:

read -p "Please enter your name:" username

一行でユーザー名を確認するには?

1行で通常の方法で可能でない場合は、Bash関数を変数に入れるのが良い解決策でしょうか?


名前は単なる例であり、パスワードやその他の一般的な形式の値にすることができます。

ここで検証とは、ユーザーに名前を2回入力するように要求し、2つの値が同じであることを確認することを意味します。

ベストアンサー1

ユーザーが同じ内容を2回入力(またはコピーして貼り付け...)するのは、通常2回の呼び出し、read2つの変数、および比較によって行われます。

read -p "Please enter foo" bar1
read -p "Please enter foo again" bar2
if [ "$bar1" != "$bar2" ]; then
   echo >&2 "foos did not match"
   exit 1
fi

これはwhile、ループ変数と条件変数を使用して一致するまでプロンプトと確認を繰り返すか、入力プロンプトが多い場合は関数呼び出しで抽象化できます。

おすすめ記事