我正在编写 git hook 并且对下一个代码行为感到非常困惑:
#!/bin/sh
exit_code=0
git diff --cached --name-only --diff-filter=ACM | while read line; do
echo "Do something with file: $line"
# some stuff with exit code is equals to 0 or 1
stuff_exit_code=$?
exit_code=$(($exit_code + $stuff_exit_code))
done
echo $exit_code
exit $exit_code
我希望echo $exit_code将为每个我的东西退出代码非零生成文件总量。但我总是看到 0。我的错误在哪里?