从通过后接收钩子创建的ssh会话中调用时,导出不起作用

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

我在远程存储库中有此Git接收后挂钩,该存储库在SSH会话中运行一堆命令:

#!/bin/bash
ssh -q admin@node-one << EOF
    export GOPATH=~/go
    export PATH=$GOPATH/bin:$PATH
    echo $PATH
    echo $GOPATH
    cd ~/portfolio
    ./kill.sh
    git pull
    make build
    ./run.sh
EOF

并且我收到与goimports相关的错误,因为export在这种情况下似乎不起作用。

remote: /usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
remote: 

我可以手动运行该钩子,它很好用,但是由于某些原因,当我通过远程存储库中的git push运行它时,它不起作用。

我在远程存储库中有此Git接收后钩子,该存储库在SSH会话中运行一堆命令:#!/ bin / bash ssh -q admin @ node-one << EOF export GOPATH =〜/ go export PATH = $ GOPATH / ...

bash git ssh environment-variables githooks
1个回答
0
投票

内联内容默认情况下会运行shell扩展,因此您的变量将在被调用的shell看到它们之前在文本中进行扩展。引用定界符中的任何内容以将其关闭,或者转义您不希望扩展内联的位,例如

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