我们假设我们有一个路径为/home/derp/projects/example.git
的Git存储库。此存储库有一个收件后挂钩/home/derp/projects/example.git/hooks/post-receive
,允许 derp (git所有者)在有人推送文件时从其他位置删除文件。
#!/bin/bash
while read oldrev newrev ref
do
branch=`echo $ref | cut -d/ -f3`
if [ "master" == "$branch" ]; then
git --work-tree=/home/derp/outputs/example/ checkout -f $branch
rm /home/derpina/Pictures/*.jpg
fi
done
我们只是说 rm 因为derp的权限不足而失败。如何知道将执行GIT存储库挂钩的系统帐户用户?