ここで助けが必要です。私は自分の日付を操作するプログラミングに行き詰まりました。日付は DD-MON-YY の形式で、ユーザーが正しい日付形式を入力したかどうかを確認したい。そこで、日付、月、年を個別にテストする関数を作成しますが、この関数は形式の「-」も読み取るため、次のコードを使用することにしました。
echo -n " Date [ DD-MON-YY ]:" #user will input the date
read dates
vardate=$ echo "$dates" | tr "-" " "
echo $vardate
私はそれを使用しているので、関数を呼び出すときに「-」文字は問題ありません。しかし、今の問題は、日付の3つの部分[日、月、年]をどのように保存できるかです?? 私の関数はそれを適切に評価できます。
私の機能:
datefxn(){
d1 = $date1
d2 = $month1
d3 = $year1
########## check the DAY #####################
test ${#d1} -eq 2 || s=" INVALID!"
if [ "$d1" -gt 0 ] && [ "$d1" -le 31 ]
then
break ;;
else
echo "Month is OUT OF RANGE!"
fi
########## check the DAY #####################
test ${#d2} -eq 3 || s=" INVALID!"
MONTH=(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
echo "${MONTH[@]}"
for element in "${MONTH[@]}"
do
if [[ $element == $d2 ]]
then
echo " a "
break
else
echo " WAAA "
fi
done
########## check the YEAR #####################
test ${#d3} -eq 2 || s=" INVALID!"
} #end datefxn()