Если вы хотите получить приглашение (вместо передачи даты в качестве параметра), используйте следующую логику (или что-то подобное):
date=
while [ -z $date ]
do
echo -n 'Date? '
read date
done
Этот цикл будет продолжать запрашивать дату, пока пользователь не введет что-либо (что-либо), кроме простого ВОЗВРАТА.
Если вы хотите добавить простую проверку, и вы используете версию
KSH это KSH93 или лучше, сделайте что-то вроде этого:
date=
while [ -z $date ]
do
echo -n 'Date? '
read date
if [[ $date =~ ^[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,4}$ ]]
then
break
fi
date=
done
Подробнее см. справочную страницу ksh93 .