SSH - KSH: git: nicht gefunden
Frage
Ich habe GIT auf einem Solaris-Server ausgeführt wird.
Von einem Windows-Rechner installierte ich Cygwin zu versuchen, einen Repository auf dem Server gehostet zu klonen.
ich wie folgt vor:
$ git clone username@server:project.git ksh: git-upload-pack: not found
Also ich versuche
$ ssh username@server echo \$PATH /usr/bin
Es scheint, wie git nicht in / usr / bin / aber in / usr / local / bin /. Ich habe versucht, den Pfad in Bashrc auf meinem Home-Verzeichnis auf dem Server zu ändern, um hinzuzufügen / usr / local / bin / ... aber es scheint nicht zu funktionieren.
Was mache ich falsch?
Lösung
~/.bashrc
wird durch Nicht-Login-Shells lesen, sondern nur durch bash , und der Server verwendet KSH .
~/.profile
ist (glaube ich) Universal-Initialisierungsdatei, aber es ist zu lesen nur durch Login-Shells .
~/.kshrc
ist typisch Startdatei von KSH lesen, aber nur, wenn ENV Umgebungsvariable ist es festgelegt (siehe aber SendEnv in ssh_config manpage).
Sie können auch immer --upload-pack=/usr/local/bin/git-upload-pack
Option „git clone“ (und dann setzen remote.origin.uploadpack
Konfigurationsvariable) passieren, wenn Sie nicht PATH auf Remote einstellen. Und natürlich remote.origin.receivepack
wenn es nicht finden kann, git-erhalten-Pack.
Andere Tipps
wie die Shell-Sounds auf der Solaris-Maschine ist KSH und nicht bash, weshalb Ihr Bashrc ist nicht gelesen wird. Versuchen Sie setzen die Änderung in .profile
Ich hatte / usr / local / bin in .profile zu meinem Weg hinzuzufügen, um es auf solaris abgeholt werden (und git Upload-Pack zu arbeiten). Ich dachte immer, es war meine Boxen, die schlecht konfiguriert wurden, aber vielleicht nicht so ...