読み取った値の確認

読み取った値の確認

ユーザーが作成した内容が正しいことを確認または確認する方法はありますかread

  • たとえば、ユーザーが「Hello world!」を書きたかったのですが、誤って「Hello world@」を書きました。

  • これは、Eメール/電話フィールドの問い合わせフォームの検証と非常によく似ています。

読みながら「入力を再入力してください」などのメッセージをユーザーに表示する方法はありますか?

ではそのようなオプションが見つかりませんでしたman read


注:入力はパスワードなので、印刷したり既存の文字列と比較したくありません。

ベストアンサー1

シェルを使えばbashいつでもできる

FOO=a
BAR=b
prompt="Please enter value twice for validation"
while [[ "$FOO" != "$BAR" ]]; do
    echo -e $prompt
    read -s -p "Enter value: " FOO
    read -s -p "Retype to validate: " BAR
    prompt="\nUups, please try again"
done
unset -v BAR
# do whatever you need to do with FOO
unset -v FOO

read使用されたオプション:

  • -sサイレントモード。入力が端末から来る場合、文字はエコーされません。
  • -p prompt入力を読み取ろうとする前に、末尾の改行なしで標準エラープロンプトを表示します。

おすすめ記事