git 명령을 찾을 수 없습니다

git 명령을 찾을 수 없습니다

RHEL의 소스에서 git을 설치해야 합니다. 설치 후 /usr/local/bin/git명령을 시도하면 git 명령이 표시됩니다. 이 whereis경로도 사용할 수 있습니다 $PATH.

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 명령이 작동하는 것을 발견했습니다. 작동이 시작되는 원인이 무엇인지 잘 모르겠습니다. 이것은 매우 혼란스럽습니다.

답변1

오류 메시지로 판단하면 (t)csh를 사용하고 있는 것입니다. 특히 $csh 프롬프트가 아닌 Bourne 프롬프트인 프롬프트로 표시될 때 질문에 이를 언급하는 것이 도움이 될 것입니다 .

typeBourne 스타일의 내장 쉘입니다. csh에는 존재하지 않습니다. 실행하면 명령을 찾을 수 없다는 메시지 type git가 표시됩니다 .type

많은 쉘은 캐시의 검색 경로에 있는 명령 위치에 대한 정보를 보관합니다. 어떤 버전의 csh 캐시가 조회를 무효화하는지 모르겠지만 귀하의 버전에서는 그런 것 같습니다. rehash캐시를 새로 고치려면 명령을 실행하십시오 . 새 셸 인스턴스를 시작하면 새 캐시가 생기므로 git이전에 존재하지 않았다는 사실을 기억하지 못합니다.

답변2

예를 들어 다음을 확인하세요.이 스레드, 귀하의 셸은 귀하가 받아야 할 셸에서 변경되지 않았습니다.

방금 내 쉘이 csh로 변경되어 문제가 발생한다는 것을 발견했습니다.

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

bash로 변경했더니 문제가 해결되었습니다!

[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

답변3

가장 가능성 있는 이유는 올바른 것을 가지고 있지만 PATH올바른 것이 아니기 때문입니다 LD_LIBRARY_PATH.

최신 git실행 파일은 동적으로 연결된 바이너리입니다. 설치 지침을 따랐을 때 .so라이브러리(파일)가 에 배치되었을 수 있으므로 이 경로를 에 추가한 다음 git을 실행 /usr/local/lib해야 합니다 .LD_LIBRARY_PATH

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

이것이 작동하지 않으면 ldd /usr/local/bin/git감사합니다.

추신: 솔루션이 작동하면 LD_LIBRARY_PATH 행을.bash_profile

관련 정보