我正在尝试在 Ubuntu 20.04 系统中安装几个字体包(frontproto、inputproto、kbproto、renderproto、xproto、xetproto),使用其中一个apt
或从源代码编译它们。但是,我不知道任何来源,并且apt-cache search
空无一人。
主页
/
user-478562
afernandezody's questions
afernandezody
Asked:
2021-09-14 07:39:44 +0800 CST
我在 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
只要输入是 8 个数字,它就可以正常工作(例如,它接受“20210901”并拒绝“20213131”)。然而,当输入完全关闭时(例如“a”或“废话”),它只需要今天的日期。如何修改代码以更严格地检查格式?
修改后的代码如下:
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