comando git non trovato

Ho dovuto installare git dal sorgente su RHEL. Dopo linstallazione, il comando git si trova in /usr/local/bin/git quando si prova il comando whereis. Questo percorso è disponibile in $PATH anche.

Quando digito git, viene visualizzato ancora “Comando non trovato”. Come risolverlo?

EDIT: output di vari comandi

$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: ora funziona ma non so perché

Ho disconnesso la connessione telnet e ho effettuato nuovamente laccesso pochi minuti fa e ho scoperto che il comando git funziona. Non sono sicuro di cosa labbia fatto iniziare a funzionare. Questo crea confusione.

Commenti

  • Aggiungi type git, which git, ls -l /usr/local/bin/git output.
  • @manatwork, guarda la modifica.
  • @Marco ha aggiunto loutput di echo $ PATH .
  • Immagino che @manatwork significasse file e non type 😉 quindi vuole (e anchio) per vedere loutput di file /usr/local/bin/git
  • @Huygens, type è una shell incorporata in dash, bash e zsh. Se utilizzi ksh, potresti avere una buona scusa per non saperlo. (Nel mio ksh cè solo un alias per whence con il nome type. Non certo quanto è diffusa tale impostazione.) pastebin.com/VzScxzRg

Risposta

Dai messaggi di errore che stai utilizzando (t) csh. Sarebbe utile menzionarlo nella tua domanda, specialmente se stai mostrando $ come prompt, e questo è tradizionalmente un prompt di Bourne, non un prompt di csh.

type è un builtin nella shell in stile Bourne. Non lo fa ” Non esiste in csh. Quando esegui type git, ti viene detto che il comando type non è stato trovato.

Molte shell mantengono informazioni su la posizione dei comandi nel percorso di ricerca in una cache. Non so se qualche versione di csh memorizza nella cache le ricerche negative, ma sembra che la tua lo faccia. Esegui il comando rehash per aggiornare la cache. Quando avvii una nuova istanza di shell, ha una nuova cache e quindi “non ricorda che git non era presente in precedenza.

Commenti

  • Ciao Gilles, avrei dovuto menzionare la shell. Scusa per quella cosa. Ma ottengo $ nel prompt sia per bash che per tcsh. in tsch è il formato [username @ systemname] $ e in bash è il formato bash-3.2 $.
  • Penso che questa sia la spiegazione più vicina possibile a quello che è successo. Proverò a ricrearlo, verificarlo e tornare indietro. Grazie …

Risposta

Assicurati che, come in questo thread , la tua shell non è cambiata da quella che dovresti ottenere:

Ho appena scoperto che il mio shell è stata modificata in csh e stava creando il problema.

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

Lho cambiato in bash e il problema è stato risolto!

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

Questo spiegherebbe perché viene visualizzato un messaggio di errore “type: Command not found.“.

Ho sperimentato questi comandi:

[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 

Commenti

  • La modifica della shell in bash causa il ' digita ' comando per funzionare. Il comando git ora funziona anche senza entrare in bash. Non so perché! Si prega di vedere la modifica.

Risposta

Il motivo più probabile è che tu abbia il PATH corretto ma non il .

Lultimo eseguibile git è un file binario collegato dinamicamente. Quando hai seguito le istruzioni di installazione, probabilmente ha posizionato le librerie (file .so) in /usr/local/lib, devi aggiungere questo percorso al tuo LD_LIBRARY_PATH. Provalo e poi esegui git:

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

Se non funziona, potresti fornire loutput di ldd /usr/local/bin/git . Grazie.

PS: se la soluzione ha funzionato, devi aggiungere la riga LD_LIBRARY_PATH al tuo .bash_profile

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *