Jeg måtte installere git fra kilde på RHEL. Etter installasjonen vises git-kommandoen i /usr/local/bin/git
når du prøver whereis
-kommandoen. Denne banen er tilgjengelig i $PATH
også.
Når jeg skriver git, står det fortsatt «Kommando ikke funnet.» Hvordan løse dette?
EDIT: output of diverse commands
$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: Det fungerer nå, men vet ikke hvorfor
Jeg koblet fra telnetforbindelsen og logget inn igjen noen minutter tilbake og fant ut at git-kommandoen fungerer. Jeg er ikke sikker på hva som fikk det til å begynne å virke. Dette er forvirrende.
Kommentarer
Svar
Fra feilmeldingene bruker du (t) csh. Det vil hjelpe å nevne det i spørsmålet ditt, spesielt når du viser $
som din ledetekst, og at det tradisjonelt sett er en Bourne-melding, ikke en csh-melding.
type
er et innebygd skall i Bourne-stil. Det gjør det ikke » eksisterer ikke i csh. Når du kjører type git
, forteller den deg at kommandoen type
ikke blir funnet.
Mange skall holder informasjon om plasseringen av kommandoer i søkebanen i en hurtigbuffer. Jeg vet ikke om noen versjoner av csh cacher negative oppslag, men det ser ut til at din gjør det. Kjør kommandoen rehash
for å oppdatere hurtigbufferen. Når du starter en ny skallforekomst, har en ny cache og husker ikke at git
ikke var tilstede tidligere.
Kommentarer
- Hei Gilles, jeg burde ha nevnt skallet. Beklager det. Men jeg får $ i ledeteksten for både bash og tcsh. i tsch er det [brukernavn @ systemnavn] $ format og i bash er det bash-3.2 $ format.
- Jeg tror dette er nærmest mulig forklaring på hva som skjedde. Jeg vil prøve å gjenskape dette og bekrefte og komme tilbake. Takk …
Svar
Forsikre deg om at, som i denne tråden , skallet ditt har ikke endret seg fra det du skal få:
Jeg har nettopp funnet at min skallet ble endret til csh, og det skapte problemet.
[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh
Jeg endret det til bash og problemet ble løst!
[root@localhost ~]# type export export is a shell builtin
Det ville forklare hvorfor du får en «type: Command not found.
» feilmelding.
Jeg eksperimenterte med disse kommandoene:
[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
Kommentarer
- Endring av skallet til bash forårsaker ' skriv ' kommando for å fungere. Git-kommandoen fungerer nå selv uten å gå inn i bash. Vet ikke hvorfor! Se redigeringen.
Svar
Den mest sannsynlige årsaken er at du har riktig PATH
men ikke riktig LD_LIBRARY_PATH
.
Den siste kjørbare git
er en binær fil som er dynamisk koblet. Når du fulgte installasjonsinstruksjonene, plasserte den sannsynligvis biblioteker (.so
filer) i /usr/local/lib
, du må legge til denne banen til LD_LIBRARY_PATH
. Prøv det og kjør deretter git:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git
Hvis det ikke fungerer, kan du gi utdataene til ldd /usr/local/bin/git
. Takk.
PS: hvis løsningen fungerte, må du legge til LD_LIBRARY_PATH-linjen i .bash_profile
type git
,which git
,ls -l /usr/local/bin/git
utganger.file
og ikketype
😉 så han vil (og jeg også) for å se utdata frafile /usr/local/bin/git
type
er et skall innebygd idash
,bash
ogzsh
. Hvis du brukerksh
, kan du ha en god unnskyldning for ikke å vite det. (Iksh
er det bare et alias tilwhence
med navnettype
. sikker på hvor utbredt er en slik innstilling.) pastebin.com/VzScxzRg