Estou tentando instalar vários pacotes de fontes ( frontproto, inputproto, kbproto, renderproto, xproto, xetproto ) em um sistema Ubuntu 20.04 usando apt
ou compilando-os da fonte. No entanto, não conheço nenhuma fonte e apt-cache search
está voltando vazio.
Início
/
user-478562
afernandezody's questions
afernandezody
Asked:
2021-09-14 07:39:44 +0800 CST
Eu tenho as seguintes linhas em um script bash:
while true; do
DATE=date
FORMAT="%Y%m%d"
read -p "Enter start date (YYYYMMDD) " STARTDATE
if date=$(date -d "$STARTDATE" +'+%Y%m%d'); then
start_date=`$DATE +$FORMAT -d $STARTDATE`
echo $start_date
break
fi
echo "Please use right format (YYYYMMDD) "
done
Isso funciona bem desde que a entrada seja de 8 números (por exemplo, aceita "20210901" e rejeita "20213131"). No entanto, quando a entrada está totalmente desativada (por exemplo, "a" ou "nonsense"), ela simplesmente leva a data de hoje. Como o código poderia ser modificado para uma verificação mais rigorosa do formato?
O código modificado lê:
valid=0
while true; do
DATE=date
FORMAT="%Y%m%d"
read -p "Enter start date (YYYYMMDD) " initialdate
if date=$(date -d "$initialdate" +'+%Y%m%d'); then
start_date=`$DATE +$FORMAT -d $initialdate`
if [[ "$start_date" =~ ^[[0123456789]]{8}$ ]]
then
valid=1
echo "valid";
echo $start_date
break
else
echo "Invalid format"
fi
fi
echo "Please use right format (YYYYMMDD) "
done