gpt4 book ai didi

git - Hook /接收后 : Syntax error: "(" unexpected (expecting "done")

转载 作者:太空狗 更新时间:2023-10-29 14:47:59 26 4
gpt4 key购买 nike

我正在 GIT 中编写接收后脚本。

我附上了它的一个最小版本,它也失败了:

generate_email()
{
for user in $(git config --get-all notifications.users); do
unset files_to_notify
for filter in $(git config --get-all notifications.$user); do
files_to_notify=" $files_to_notify $(git diff-tree --no-commit-id \
--name-only -r $newrev | grep $filter) "
done
files_to_notify=( $files_to_notify )
if [ -n "$files_to_notify" ]; then
echo ${files_to_notify[*]}
fi
done
}

while read oldrev newrev refname
do
generate_email $oldrev $newrev $refname
done

当我尝试推送到 git 服务器以调用此脚本时,我收到以下消息:

远程:钩子(Hook)/接收后:10:钩子(Hook)/接收后:语法错误:“(”意外(预期“完成”)

当我尝试在命令行中运行它时,脚本可以正常运行而没有此消息。

有什么想法吗?

谢谢,

伊利亚希夫

最佳答案

两种可能性:

  1. #!/usr/bin/env bash 添加到脚本顶部以确保脚本由 bash 而不是 sh 运行,因为您使用了一个数组,一个 bash 扩展。

  2. 停止使用数组,因为您不会以任何无法轻易用简单的空格分隔字符串替换的方式使用它。这就是您首先构建阵列的方式。

关于git - Hook /接收后 : Syntax error: "(" unexpected (expecting "done"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14808114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com