多个shell的正则表达式兼容性

时间:2015-03-20 13:23:07

标签: regex bash shell format dash-shell

我正在使用以下代码在我的bash脚本中检查正确的日期格式:

if [[ $variable == [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ]]

格式应为:YYYY-MM-DD

这在bash中运行良好,但是在尝试使用dash或sh运行时遇到问题。你能帮我改写一下吗?它与dash和sh兼容吗?或者找到一个可以在所有shell上使用的不同解决方案?

提前致谢!

1 个答案:

答案 0 :(得分:0)

case也应该在破折号中工作:

case 0015-18-32 in 
    [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ) echo yes ;;
esac