git 명령을 찾을 수 없음

RHEL의 소스에서 git을 설치해야했습니다. 설치 후 whereis 명령을 시도 할 때 git 명령이 /usr/local/bin/git에 표시됩니다.이 경로는 도 있습니다.

git을 입력해도 “명령을 찾을 수 없습니다.”라고 표시됩니다. 이 문제를 해결하는 방법은 무엇입니까?

편집 : 다양한 명령의 출력

$type git type: Command not found. $which git git: Command not found. $ls -l /usr/local/bin/git -rwxr-xr-x 112 root users 5851488 Mar 15 20:07 /usr/local/bin/git $whereis git git: /usr/local/bin/git $echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 

편집 : 이제 작동하지만 이유를 모릅니다

텔넷 연결을 끊고 몇 분 후에 다시 로그인하여 git 명령이 작동하는 것을 확인했습니다. 나는 그것이 작동하기 시작한 원인을 잘 모르겠습니다. 혼란 스럽습니다.

댓글

  • type git, , ls -l /usr/local/bin/git 출력.
  • @manatwork 편집을 참조하십시오.
  • @Marco가 echo $ PATH의 출력을 추가했습니다. .
  • @manatwork는 file를 의미하고 type ;-)를 의미한다고 생각합니다. 그래서 그는 (그리고 나도) file /usr/local/bin/git
  • @Huygens의 출력을 보려면 type가 , bashzsh. ksh를 사용하는 경우 알지 못하는 것에 대한 좋은 변명이있을 수 있습니다. (내 ksh에는 type라는 이름의 whence에 대한 별칭 만 있습니다. 이러한 설정이 얼마나 널리 퍼져 있는지 확인하십시오.) pastebin.com/VzScxzRg

답변

(t) csh를 사용중인 오류 메시지에서. 특히 “$를 프롬프트로 사용하면 “일반적으로 Csh 프롬프트가 아니라 Bourne 프롬프트입니다.

type는 Bourne 스타일 셸에 내장 된 내장입니다. 그렇지 않습니다.” t는 csh에 존재합니다. type git를 실행하면 type 명령을 찾을 수 없다는 메시지가 표시됩니다.

많은 셸이 캐시의 검색 경로에있는 명령의 위치. 어떤 버전의 csh가 부정적 조회를 캐시하는지는 모르겠지만 당신의 것 같습니다. rehash 명령을 실행하여 캐시를 새로 고칩니다. 새 셸 인스턴스를 시작하면 새 캐시가 있으므로 이전에 git가 없었던 것을 기억하지 못합니다.

댓글

  • 안녕 Gilles, 껍질에 대해 언급 했어야 했어. 그 죄송합니다. 그러나 bash와 tcsh에 대한 프롬프트에서 $를 얻습니다. tsch에서는 [username @ systemname] $ 형식이고 bash에서는 bash-3.2 $ 형식입니다.
  • 이게 무슨 일이 일어 났는지에 대한 가장 가까운 설명이라고 생각합니다. 나는 이것을 다시 만들고 확인하고 돌아올 것입니다. 감사합니다 …

답변

이 스레드 에서 셸은 가져와야하는 것과 변경되지 않았습니다.

방금 내 셸이 csh로 변경되어 문제가 발생했습니다.

[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh 

배쉬로 변경했고 문제가 해결되었습니다!

[root@localhost ~]# type export export is a shell builtin 

그렇습니다. “type: Command not found.“오류 메시지가 표시되는 이유.

다음 명령을 실험했습니다.

[root@localhost ~]# csh [root@localhost ~]# type export type: Command not found. [root@localhost ~]# bash [root@localhost ~]# type export export is a shell builtin [root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/bash 

설명

  • 셸을 bash로 변경하면 ' type ' 명령이 작동합니다. git 명령은 이제 bash로 이동하지 않고도 작동합니다. 이유를 모르겠습니다. 편집 내용을 참조하십시오.

답변

가장 가능성이 높은 이유는 올바른 PATH가 있지만 올바른 .

최신 git 실행 파일은 동적으로 연결된 바이너리 파일입니다. 설치 지침을 따랐을 때 /usr/local/lib에 라이브러리 (.so 파일)를 배치했을 가능성이 있으므로이 경로를

. 시도한 다음 git을 실행하십시오.

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git 

작동하지 않는 경우 ldd /usr/local/bin/git의 출력을 제공 할 수 있습니까? . 감사합니다.

PS : 솔루션이 효과가 있다면 LD_LIBRARY_PATH 줄을 .bash_profile

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다