SSH - ksh: git: não encontrado
Pergunta
Eu tenho GIT executado em um servidor Solaris.
A partir de uma máquina Windows eu instalei cygwin para tentar clonar um repositório hospedado no servidor.
Eu faço o seguinte:
$ git clone username@server:project.git ksh: git-upload-pack: not found
Então eu tento
$ ssh username@server echo \$PATH /usr/bin
Parece que git não é em / usr / bin / mas / usr / local / bin /. Eu tentei mudar o caminho na .bashrc no meu diretório home no servidor para adicionar / usr / / bin local / ... mas não parece trabalho.
O que estou fazendo de errado?
Solução
~/.bashrc
é lido por conchas não-login, mas apenas por festa ??strong>, e seus usos servidor ksh .
~/.profile
é (eu acho) arquivo de inicialização universal, mas é lido apenas por shells de login .
~/.kshrc
é arquivo de inicialização típico lido por ksh, mas só se ENV variável ambiental é definido para ele (mas ver SendEnv na manpage ssh_config).
Além disso, você pode sempre opção --upload-pack=/usr/local/bin/git-upload-pack
para "clone git" pass (e, em seguida, variável conjunto de configurações remote.origin.uploadpack
) se você não set PATH no controle remoto pode. E, claro remote.origin.receivepack
se não puder encontrar git-receber-pack.
Outras dicas
Parece que o seu shell na máquina Solaris é ksh e não bash, razão pela qual seu .bashrc não está sendo lido. Tente colocar a mudança em .profile
Eu tive que adicionar / usr / / bin local para o meu caminho em .profile para que possa ser pego no Solaris (e obter git upload-pack para o trabalho). Eu sempre pensei que era minhas caixas que foram mal configurados, mas talvez não tão ...