我想使用 git grep 来检查 repo 中被禁止的字符串。
if git grep --full-name --extended-regexp --line-number 'bad|words'
then
echo has bad words
else
echo does not have bad words
fi
这样做的问题是,如果git grep
命令由于其他原因(例如格式错误)而失败,脚本将报告没有坏词,但实际上它不知道 repo 中是否有坏词,因此以这种方式分支并不安全。
我想知道是否git grep
因为没有找到任何东西而失败,或者因为发生了另一个错误而导致它退出而没有尝试查找任何东西。
我希望git grep
对坏词返回与错误相同的退出状态。只有确认没有坏词时,它才应该返回唯一的退出状态代码。
检查退出代码。由于存在 3 种变体(找到、未找到、错误),因此您不能只使用
if
/else
。