当我自动执行git push-pull并编写post-receive时,我仍然搞不明白我做错了什么,下面提到的来自developer的行store commit日志最终会出现在一个文件中,但它做错的是它只存储FE=。我希望它存储FE='anything that developer write here'

var_custom_FE_log="$( git log -1 --no-merges $branch | grep -o -P 'FE=.*? ' )

最佳答案

如果要匹配FE=value,则应删除grep中的-o标志。对比

$grep -o -P 'FE=.*?' <<< "FE=some text here"
FE=

$grep -P 'FE=.*?' <<< "FE=some text here"
FE=some text here

如果每行只有一个声明,则无需使用惰性量词.*?。您可以使用.*并删除-P标志:
$grep 'FE=.*' <<< "FE=some text here"
FE=some text here

关于linux - Linux Shell脚本= grep -o -P'FE =。*? '不工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50287140/

10-13 03:20