我试图让一个预提交钩子工作,检查交错文件并读取差异以检查几个字符串。如果字符串存在,则提交必须失败。
#!/bin/bash
#import os
echo "Running pre-commit hook"
checks=os.environ["APPSETTING_DEVPASSWORD"],os.environ["APPSETTING_DEVUSER"],os.environ["APPSETTING_DEVPASS_ELMAH"]
git diff --cached --name-status | while read x file; do
if [ "$x" == 'D' ]; then continue; fi
for word in $checks
do
if egrep $word $file ; then
echo "ERROR: Disallowed expression \"${word}\" in file: ${file}"
exit 1
fi
done
done || exit $?
Run Code Online (Sandbox Code Playgroud)
即使文件中存在字符串,它仍然提交文件。任何指导将不胜感激。我对 bash 相当陌生。