git comando não encontrado

5

Eu tive que instalar o git da fonte no RHEL. Após a instalação, o comando git é mostrado em /usr/local/bin/git ao tentar o comando whereis . Esse caminho está disponível em $PATH também.

Quando eu digito git ele ainda diz "Comando não encontrado". Como resolver isso?

EDIT: saída de vários comandos

$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

EDIT: funciona agora, mas não sei porque

Eu desconectei a conexão telnet e entrei novamente alguns minutos atrás e descobri que o comando git funciona. Não tenho certeza do que causou isso para começar a trabalhar. Isso é confuso.

    
por Manoj 15.03.2013 / 16:06

3 respostas

3

Das mensagens de erro que você está usando (t) csh. Seria útil mencionar isso na sua pergunta, especialmente porque você está mostrando $ como seu prompt, e isso é tradicionalmente um prompt Bourne, não um prompt csh.

type é um shell embutido no estilo Bourne. Não existe no csh. Quando você executa type git , ele informa que o comando type não foi encontrado.

Muitos shells mantêm informações sobre o local dos comandos no caminho de pesquisa em um cache. Não sei se alguma versão do csh faz cache de pesquisas negativas, mas parece que a sua faz isso. Execute o comando rehash para atualizar o cache. Quando você inicia uma nova instância do shell, ela tem um cache novo e, portanto, não se lembra de que git não estava presente anteriormente.

    
por 18.03.2013 / 02:13
3

Certifique-se de que, como em este tópico , seu shell não mudou daquele que você deveria receber:

I have just found that my shell got changed to csh and it was creating the problem.

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

I changed it to bash and the problem was resolved!

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

Isso explica por que você recebe uma mensagem de erro ' type: Command not found. '.

I experimented with these commands:

[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
    
por 15.03.2013 / 16:40
2

O motivo mais provável é que você tenha o PATH correto, mas não o LD_LIBRARY_PATH correto.

O último git executável é um arquivo binário que é dinamicamente vinculado. Quando você seguiu as instruções de instalação, provavelmente colocou bibliotecas ( .so files) em /usr/local/lib , você precisa adicionar esse caminho ao seu LD_LIBRARY_PATH . Experimente e execute git:

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

Se isso não funcionar, você pode fornecer a saída de ldd /usr/local/bin/git . Obrigado.

PS: se a solução funcionou, você precisa adicionar a linha LD_LIBRARY_PATH ao seu .bash_profile

    
por 15.03.2013 / 17:01

Tags