Så der er få steder, hvor terminal leder efter kommandoer. Disse steder er gemt i din $PATH
variabel. Tænk på det som en global variabel, hvor terminal itererer over for at slå op efter enhver kommando. Dette er normalt binære filer, se hvordan /bin-mappen normalt refereres til.
/bin
mappen har masser af eksekverbare filer inde i den. Det viser sig, at dette er kommando. Disse forskellige mappeplaceringer er gemt i én global variabel, dvs. $PATH
adskilt af :
Nu sørger programmer efter installationen normalt for at opdatere PATH
&fortæller din terminal, at hey, jeg kan være alle kommandoer inde i min bin
folder.
Det viser sig, at MySql ikke gør det ved installation, så vi er nødt til at gøre det manuelt.
Vi gør det ved at følge kommandoen
export PATH=$PATH:/usr/local/mysql/bin
Hvis du opdeler det, skal du export
er selvforklarende. Tænk på det som en opgave. Så export
en variabel PATH
med værdien gammel $PATH
concat med ny bin
dvs. /usr/local/mysql/bin
På denne måde efter at have udført det alle kommandoerne inde i /usr/local/mysql/bin
er tilgængelige for os.
Der er en lille fangst her. Tænk på et terminalvindue som en forekomst af et program og måske noget som $PATH
er klassevariabel (måske). Bemærk dette er ren antagelse. Så ved afslutning mister vi den nye opgave. Og hvis vi genåbner terminalen, vil vi ikke have adgang til vores kommando igen, for sidst da vi eksporterede, blev den gemt i den primære hukommelse, som er flygtig.
Nu skal vi have vores mysql binære filer eksporteret hver gang vi bruger terminal. Så vi er nødt til at blive ved med at samle os på vores vej.
Du er måske klar over, at vores terminal bruger noget, der hedder dotfiles
for at indlæse konfiguration på terminalinitialisering. Jeg kan godt lide at tænke på, at det er som sæt ting, der sendes til constructor, hver gang en ny forekomst af terminal oprettes (igen en antagelse, men tæt på, hvad den kunne gøre). Så ja nu forstår du pointen, hvad vi skal gøre.
.bash_profile
er en af de primære kendte dotfile
.
Så i følgende kommando,
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
Det, vi gør, er at gemme resultatet af echo
dvs. output streng til ~/.bash_profile
Så nu, som vi bemærkede ovenfor, hver gang vi åbner terminal eller forekomst af terminal vores dotfiles
er indlæst. Så .bash_profile
er henholdsvis indlæst og export
som vi har tilføjet ovenfor, køres og dermed vores globale $PATH
bliver opdateret, og vi får alle kommandoerne inde i /usr/local/mysql/bin
.
P.s.
hvis du ikke kører første kommando eksport direkte, men bare kører anden for at fortsætte det? End for den aktuelle kørende forekomst af terminal skal du,
source ~/.bash_profile
Dette fortæller vores terminal om at genindlæse den pågældende fil.