Jag var tvungen att installera git från källan på RHEL. Efter installationen visas git-kommandot i /usr/local/bin/git
när du försöker kommandot whereis
. Den här sökvägen finns i $PATH
också.
När jag skriver git står det fortfarande ”Kommando hittades inte.” Hur löser man detta?
EDIT: utdata från olika kommandon
$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 fungerar nu men vet inte varför
Jag kopplade bort telnet-anslutningen och loggade in igen några minuter tillbaka och upptäck att git-kommandot fungerar. Jag är inte säker på vad som fick det att börja fungera. Det här är förvirrande.
Kommentarer
Svar
Från felmeddelandena använder du (t) csh. Det skulle hjälpa att nämna det i din fråga, särskilt när du visar $
som din uppmaning, och det är traditionellt en Bourne-uppmaning, inte en csh-uppmaning.
type
är ett inbyggt skal i Bourne-stil. Det gör det inte ” finns inte i csh. När du kör type git
berättar det att kommandot type
inte hittas.
Många skal håller information om placeringen av kommandon i sökvägen i en cache. Jag vet inte om någon version av csh cachar negativa sökningar, men det verkar som om din gör det. Kör kommandot rehash
för att uppdatera cachen. När du startar en ny skalinstans, har en ny cache och så kommer inte ihåg att git
inte var närvarande tidigare.
Kommentarer
- Hej Gilles, jag borde ha nämnt skalet. Förlåt för det. Men jag får $ i prompten för både bash och tcsh. i tsch är det [username @ systemname] $ format och i bash är det bash-3.2 $ format.
- Jag tror att detta är den närmast möjliga förklaringen till vad som hände. Jag kommer att försöka återskapa detta och verifiera och komma tillbaka. Tack …
Svar
Se till att, som i den här tråden , ditt skal har inte ändrats från det du ska få:
Jag har just upptäckt att min skalet ändrades till csh och det skapade problemet.
[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh
Jag ändrade det till bash och problemet löstes!
[root@localhost ~]# type export export is a shell builtin
Det skulle förklara varför får du ett ”type: Command not found.
” felmeddelande.
Jag experimenterade med dessa kommandon:
[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
- Om du byter skal till bash ' skriv ' kommando för att fungera. Git-kommandot fungerar nu även utan att gå in i bash. Vet inte varför! Se redigeringen.
Svar
Den mest troliga orsaken är att du har rätt PATH
men inte rätt LD_LIBRARY_PATH
.
Den senaste git
körbar är en binär fil som är dynamiskt länkad. När du följde installationsanvisningarna placerade den antagligen bibliotek (.so
filer) i /usr/local/lib
, du måste lägga till den här sökvägen till din LD_LIBRARY_PATH
. Testa det och kör sedan git:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git
Om det inte fungerar kan du ge utdata från ldd /usr/local/bin/git
. Tack.
PS: om lösningen fungerade måste du lägga till LD_LIBRARY_PATH-raden i din .bash_profile
type git
,which git
,ls -l /usr/local/bin/git
utgångar.file
och intetype
😉 så han vill (och jag också) för att se utdata frånfile /usr/local/bin/git
type
är ett inbyggt skal idash
,bash
ochzsh
. Om du använderksh
kan du ha en bra ursäkt för att inte veta det. (I mittksh
finns det bara ett alias tillwhence
med namnettype
. säker på hur utbredd denna inställning är.) pastebin.com/VzScxzRg