脚本内的预提交挂钩权限被拒绝

问题描述 投票:1回答:1

我有以下预提交的钩子:

#!/bin/bash

set -e

result=''

for file in $(find rest/src/main/groovy/ru/naumen/modules -name '*.groovy' | sort); do
    filename=basename "$file"
    result+=echo "${filename//.groovy/}",
done

result+='smpUtils'

sed -i -r "s|modules = .*|modules = $result|g" rest/smpsync.ini

git add rest/smpsync.ini

我在第8行出现Permission denied错误

filename=basename "$file"

而且我无法确定原因。

Hook本身具有执行权(chmod +x .git/hooks/pre-commit

./rest/src/main/groovy/ru/naumen/modules中的整个目录/文件树具有读/写权限,并且属于我的用户。

bash git githooks pre-commit-hook
1个回答
0
投票

改为尝试:

filename="$(basename "$file")"

为了在command basename变量中获得basename的结果。

© www.soinside.com 2019 - 2024. All rights reserved.