![尝试使用正则表达式在我的 Bash 脚本中获取 Symfony 版本号](https://linux22.com/image/178740/%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%9C%A8%E6%88%91%E7%9A%84%20Bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E8%8E%B7%E5%8F%96%20Symfony%20%E7%89%88%E6%9C%AC%E5%8F%B7.png)
当我bin/console --version
从终端调用 Symfony 项目时,我Symfony 4.4.3 (env: dev, debug: true)
喜欢进行匹配来验证命令的结果是否确实与预期模式匹配。
我有这个模式:https://regex101.com/r/n2hBR8/1
我在 Bash 脚本中尝试了几件事,但无法让它工作:
#symfonyVersionRegex="Symfony\s\d{1}.*"
#symfonyVersionRegex="^Symfony\s\d{1}.*$"
symfonyVersionRegex="^Symfony\s\d.*$"
symfonyVersionRaw=`bin/console --version`
if [[ symfonyVersionRaw =~ $symfonyVersionRegex ]]; then
echo Version number found
else
echo Version number NOT found
fi
当我回显 symfonyVersionRaw 时,我得到了预期的版本字符串,因此可以工作,但无论我尝试什么,我总是得到否定结果(“未找到版本号”)。