我通过post-receive hook直接从git部署我的应用程序。 我第一次检测分支名称然后我的脚本部署到相应的路径。 我使用那里描述的分支检测方法:https://stackoverflow.com/a/12367999/3877101
一切正常,直到我的服务器必须升级到Debian 7 Wheezy。 现在我可以在git push log中看到这个错误:
remote:hooks / post-receive:6:read:Illegal option -a
remote:hooks / post-receive:9:hooks / post-receive:语法错误:重定向意外
Hook在if语句中失败了(我的代码中的第6行),但是如果没有提供STDIN,则该语句将为真(根据文档提供!-t 0)。 我没有想法,你能帮忙吗?
编辑:我获取分支名称的代码
5 if ! [ -t 0 ]; then
6 read -a ref
7 fi
8
9 IFS='/' read -ra REF <<< "${ref[2]}"
10 branch="${REF[2]}"