2009-10-21 4 views
4

Solaris 서버에서 GIT를 실행하고 있습니다.SSH - ksh : 자식 : 찾지 못했습니다.

Windows 머신에서 cygwin을 설치하여 서버에 호스팅 된 저장소를 복제하려고했습니다.

나는 다음을 수행하십시오

 
$ git clone [email protected]:project.git 
ksh: git-upload-pack: not found 

는 그래서 그것은 자식처럼 보인다

 
$ ssh [email protected] echo \$PATH 
/usr/bin 

가되지는/usr/bin에 /하지만 보통/usr/local/bin /에보십시오. 서버의 홈 디렉토리에서 .bashrc의 PATH를 변경하여/usr/local/bin /을 추가하려고 시도했지만 작동하지 않는 것 같습니다.

내가 뭘 잘못하고 있니?

+0

echo $ PATH는 무엇을 표시합니까? – Mark

+0

다음과 같습니다 :/usr/bin – ddallala

답변

9

~/.bashrc의 변화를 넣어 시도하지만 bash는에 의해, 그리고 서버가 KSH를 사용합니다.
~/.profile은 보편적 인 초기화 파일이지만, 은 로그인 쉘으로 만 읽습니다.
~/.kshrc은 ksh가 읽는 일반적인 시작 파일이지만, ENV 환경 변수가 설정되어있을 때만 나타납니다 (단, ssh_config 맨 페이지의 SendEnv 참조). 원격에서 PATH를 설정할 수없는 경우


또한 당신은 항상 (다음 remote.origin.uploadpack 구성 변수를 설정)을 "자식 클론"--upload-pack=/usr/local/bin/git-upload-pack 옵션을 전달할 수 있습니다. 그리고 물론 remote.origin.receivepack git-receive-pack을 찾을 수없는 경우.

+0

.profile을 사용하여 PATH를 설정할 수 없어서 사용자의 방법을 시도했지만 완벽하게 작동했습니다. 작은 수정, 할 필요가 : 자식 설정 remote.origin.receivepack/usr/local/bin/git-receive-pack – ddallala

+0

Thx에 대한 도움말 Jakub. 죄송합니다. 실수로 내 투표를 삭제했으며이 응답을 수정하지 않으면 '투표하기가 너무 오래되었습니다.'라고 알려줍니다. – ddallala

0

솔라리스에서 픽업하기 위해/usr/local/bin을 .profile의 내 경로에 추가해야했습니다 (git upload-pack을 사용하면됩니다). 나는 항상 그것이 잘못 설정된 나의 박스라고 생각했지만, 아마도 그렇지는 않았다.

+0

동의 함, 그냥 잡았습니다 - .bashrc는 비대화 형 자식 로그인에 의해 공급되지 않았을 가능성이 큽니다. – Cascabel

4

솔라리스 머신의 쉘과 같은 사운드는 ksh이고 bash는 아니기 때문에 .bashrc가 읽히지 않는 것이다. 비 로그인 쉘에 의해 읽 .profile에