Shell if中的正则表达式使用详解
shell中的if语句需要做一个正则判断,查了一下语法记录之。
DATEPATTERN="^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$"
if [[ "$STARTDATE" =~ $DATEPATTERN ]] && [[ $ENDDATE =~ $DATEPATTERN ]]; then :
else
echo "date format is invalid!"
exit;
fi
进行正则比对需要放在[[ ]]中,但是只有bash支持[[ ]](所以要注意自己的shell环境orz,博主被坑过)