跨多个 shell 的正则表达式兼容性
Regex compatibility across multiple shells
我正在使用以下代码检查 bash 脚本中的正确日期格式:
if [[ $variable == [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ]]
格式应为:YYYY-MM-DD
这在 bash 中运行良好,但是我在尝试 运行 破折号或 sh 时遇到问题。你能帮我重写它以使其与 dash 和 sh 兼容吗?或者找到一个可以在所有 shell 上使用的不同解决方案?
提前致谢!
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
我正在使用以下代码检查 bash 脚本中的正确日期格式:
if [[ $variable == [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ]]
格式应为:YYYY-MM-DD
这在 bash 中运行良好,但是我在尝试 运行 破折号或 sh 时遇到问题。你能帮我重写它以使其与 dash 和 sh 兼容吗?或者找到一个可以在所有 shell 上使用的不同解决方案?
提前致谢!
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