Ik moest git installeren vanaf de broncode op RHEL. Na installatie wordt getoond dat het git-commando zich in /usr/local/bin/git
bevindt bij het proberen van het whereis
commando. Dit pad is beschikbaar in $PATH
ook.
Als ik git typ, staat er nog steeds “Commando niet gevonden.” Hoe dit op te lossen?
EDIT: uitvoer van verschillende commandos
$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: het werkt nu maar weet niet waarom
Ik verbrak de telnet-verbinding en logde een paar minuten geleden opnieuw in en ontdekte dat het git-commando werkt. Ik weet niet zeker waardoor het begon te werken. Dit is verwarrend.
Reacties
Antwoord
Van de foutmeldingen gebruik je (t) csh. Het zou helpen om het in je vraag te vermelden, vooral omdat je “$
als uw prompt, en dat is traditioneel een Bourne-prompt, geen csh-prompt.
type
is een ingebouwde shell in Bourne-stijl. t bestaat in csh. Als je type git
uitvoert, vertelt het je dat het type
commando niet gevonden wordt.
Veel shells bewaren informatie over de locatie van opdrachten in het zoekpad in een cache. Ik weet niet of een versie van csh negatieve lookups in de cache opslaat, maar het lijkt erop dat die van jou dat wel doet. Voer de opdracht rehash
uit om de cache te vernieuwen. Als je een nieuwe shell-instantie start, heeft een nieuwe cache en “kan zich dus niet herinneren dat git
niet eerder aanwezig was.
Reacties
- Hallo Gilles, ik had de schaal moeten noemen. Sorry daarvoor. Maar ik krijg $ in de prompt voor zowel bash als tcsh. in tsch is het [gebruikersnaam @ systeemnaam] $ formaat en in bash is het bash-3.2 $ formaat.
- Ik denk dat dit de beste verklaring is voor wat er is gebeurd. Ik zal proberen dit opnieuw te creëren en te verifiëren en terug te komen. Bedankt …
Antwoord
Zorg ervoor dat, zoals in deze thread , is je shell niet “veranderd van degene die je zou moeten krijgen:
Ik heb zojuist ontdekt dat mijn shell is veranderd in csh en het veroorzaakte het probleem.
[root@localhost ~]# grep ^"$USER" /etc/passwd root:x:0:0:root:/root:/bin/csh
Ik veranderde het in bash en het probleem was opgelost!
[root@localhost ~]# type export export is a shell builtin
Dat zou verklaren waarom je een “type: Command not found.
” foutmelding krijgt.
Ik heb geëxperimenteerd met deze opdrachten:
[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
Reacties
- Het veranderen van de shell naar bash zorgt ervoor dat de ' typ ' commando om te werken. Het git commando werkt nu zelfs zonder in bash te gaan. Weet niet waarom! Zie de bewerking.
Antwoord
De meest waarschijnlijke reden is dat je de juiste PATH
hebt, maar niet de juiste LD_LIBRARY_PATH
.
Het laatste git
uitvoerbare bestand is een binair bestand dat dynamisch is gekoppeld. Toen je de installatie-instructies volgde, plaatste het waarschijnlijk bibliotheken (.so
bestanden) in /usr/local/lib
, je moet dit pad toevoegen aan je LD_LIBRARY_PATH
. Probeer het en voer git:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib git
Als dat niet werkt, zou je dan de uitvoer van ldd /usr/local/bin/git
kunnen geven . Bedankt.
PS: als de oplossing werkte, moet je de regel LD_LIBRARY_PATH toevoegen aan je .bash_profile
type git
, ,ls -l /usr/local/bin/git
outputs.file
betekende en niettype
😉 dus hij wil (en ik ook) om de uitvoer vanfile /usr/local/bin/git
type
is een shell ingebouwd indash
,bash
enzsh
. Als jeksh
gebruikt, heb je misschien een goed excuus om het niet te weten. (In mijnksh
staat alleen een alias voorwhence
met de naamtype
. Niet zeker hoe wijdverbreid is een dergelijke instelling.) pastebin.com/VzScxzRg