git-kommandoen ble ikke funnet

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

  • Vennligst legg til type git, which git, ls -l /usr/local/bin/git utganger.
  • @manatwork vennligst se redigeringen.
  • @Marco la til utgangen av ekko $ PATH .
  • Jeg antar at @manatwork mente file og ikke type 😉 så han vil (og jeg også) for å se utdata fra file /usr/local/bin/git
  • @Huygens, type er et skall innebygd i dash, bash og zsh. Hvis du bruker ksh, kan du ha en god unnskyldning for ikke å vite det. (I ksh er det bare et alias til whence med navnet type. sikker på hvor utbredt er en slik innstilling.) pastebin.com/VzScxzRg

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *