gitolite 钩子中的 shebang 出现问题

Olg*_*ova 5 git shell gitolite

我有Ubuntu:

Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:        15.10
Codename:       wily
Run Code Online (Sandbox Code Playgroud)

和硅镁石:

gitolite3 3.6.3-1 (Debian) on git 2.5.0
Run Code Online (Sandbox Code Playgroud)

我在配置文件中有以下几行:

repo    livesearch
    option hook.post-receive = livesearch
    RW+         = @commonwrite
    R           = @commonread
Run Code Online (Sandbox Code Playgroud)

并遵循 gitolite-admin/local/hooks/repo-specific/livesearch 文件中的数据:

#!/bin/sh
/bin/sh /var/lib/gitolite3/.gitolite/local/hooks/repo-specific/common seofilters
Run Code Online (Sandbox Code Playgroud)

如果我使用这样的挂钩文件提交 livesearch 存储库,我会得到:

remote: hooks/post-receive: 18: hooks/post-receive: hooks/post-receive.h00-livesearch: not found
Run Code Online (Sandbox Code Playgroud)

但!!!就在我从文件中排除 shebang (#!/bin/sh) 后,每个想法都工作得很好!

在这两种情况下,我都在远程:

lrwxrwxrwx 1 git www-data   65 Apr 13 13:23 post-receive.h00-livesearch -> /var/lib/gitolite3/.gitolite/local/hooks/repo-specific/livesearch
Run Code Online (Sandbox Code Playgroud)

并且链接很好!

更多的是,我还有其他钩子,与 shebang 配合得很好!
只是新的钩子不适用于 shebang,但我没有更新任何内容......

可能是什么问题?

Von*_*onC 1

我在评论中建议尝试比较正在使用的钩子与未使用的钩子的正确性和编码或 eol。
也许有问题的人在 shebang 之后有一个 CRLF。

OP 确认了 shebang 线末尾的 EOL 问题。