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
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
type git
,which git
,ls -l /usr/local/bin/git
output.file
e nontype
😉 quindi vuole (e anchio) per vedere loutput difile /usr/local/bin/git
type
è una shell incorporata indash
,bash
ezsh
. Se utilizziksh
, potresti avere una buona scusa per non saperlo. (Nel mioksh
cè solo un alias perwhence
con il nometype
. Non certo quanto è diffusa tale impostazione.) pastebin.com/VzScxzRg