年が正確な4桁の数字でない場合は、エラーをスローするスクリプトに取り組んでいます。正確な年をbashスクリプトで選択する
これまでのところ、私は以下のコードを持っていますが、唯一の問題はそれが4桁に制限したい4より多くの桁を受け入れることです。
#!/bin/bash
read -p "Enter year " y
while [[ -z $y || $y =~ [A-Za-z]+ || ! $y =~ [0-9]{4} ]]; do
read -p "Enter the year in a valid format [yyyy] " y
done
echo "Selected year is: $y"
出力 -
Enter the year in a valid format [yyyy] vrgege
Enter the year in a valid format [yyyy] vegter
Enter the year in a valid format [yyyy] 123
Enter the year in a valid format [yyyy] 12345
Selected year is: 12345
それ未満4桁の数字を受け入れていないが、それは以上の4桁の数字を受け入れます。
誰かが提案することができます、どのように正確にわずか4桁を取得する条件を置く?
私の意見では、これは削除できます: '-z $ y || $ y =〜[A-Za-z] + || ' – Cyrus