ユーザーが作成した内容が正しいことを確認または確認する方法はありますか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
入力を読み取ろうとする前に、末尾の改行なしで標準エラープロンプトを表示します。