我想问一下,是否有一种方法来验证所传递的变量是以这种样例格式"06-10“还是"10-01”。这真的是对我的一个挑战,如何开始和技术,"6-10“代表”6月10日“和"10-01”站为“10月1日”,总的来说,它需要有一个“月-日”的有效的数字格式。我希望有一个if -然后语句来验证所传递的变量是否正确,如下所示:
#!/bin/bash
# This script will ONLY accept two parameters in number format
# according to "MM-DD" which is "XX-XX"
# To run this script: ./script.sh xx-xx xx-xx
DATE1=$1
DATE2=$2
if [DATE1 is in correct format] && [DATE2 is in correct format]
then
echo "Correct format"
echo "DATE1 = $DATE1"
echo "DATE2 = $DATE2"
else
echo "Not correct format"
exit 1
fi发布于 2018-05-24 12:10:26
如果语句如下所示:
if [[ $DATE1 =~ ^[0-9]{1,2}-[0-9]{1,2}$ ]] && [[ $DATE2 =~ ^[0-9]{1,2}-[0-9]{1,2}$ ]]它检查日期是否具有字符串格式##-##。
发布于 2018-05-24 14:47:53
替换if语句上的regex是通过以下操作完成的:
^(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$https://stackoverflow.com/questions/50508944
复制相似问题