Je tedy málo míst, kde terminál hledá příkazy. Tato místa jsou uložena ve vaší $PATH
variabilní. Představte si to jako globální proměnnou, kde terminál iteruje, aby vyhledal jakýkoli příkaz. Toto jsou obvykle binární soubory, jak se obvykle odkazuje na složku /bin.
/bin
složka obsahuje mnoho spustitelných souborů. Ukázalo se, že jde o příkaz. Tato různá umístění složek jsou uložena v jedné globální proměnné, tj. $PATH
oddělené :
Nyní se obvykle programy po instalaci postarají o aktualizaci PATH
&říct vašemu terminálu, že hej, mohu být všechny příkazy v mém bin
složka.
Ukázalo se, že MySql to po instalaci nedělá, takže to musíme udělat ručně.
Uděláme to následujícím příkazem
export PATH=$PATH:/usr/local/mysql/bin
Pokud to rozeberete, export
je samovysvětlující. Ber to jako úkol. Takže export
proměnnou PATH
s hodnotou old $PATH
spojit s novým bin
tj. /usr/local/mysql/bin
Tímto způsobem po provedení všech příkazů v /usr/local/mysql/bin
jsou nám k dispozici.
Je zde malý háček. Představte si jedno okno terminálu jako jednu instanci programu a možná něco jako $PATH
je proměnná třídy (možná). Všimněte si, že toto je čistý předpoklad. Takže po uzavření ztratíme nový úkol. A pokud znovu otevřeme terminál, nebudeme mít znovu přístup k našemu příkazu, protože naposledy, když jsme exportovali, byl uložen v primární paměti, která je nestálá.
Nyní potřebujeme exportovat naše binární soubory mysql pokaždé, když použijeme terminál. Takže musíme vytrvat na naší cestě.
Možná víte, že náš terminál používá něco, co se nazývá dotfiles
pro načtení konfigurace při inicializaci terminálu. Rád si to představuji jako sady věcí předávaných konstruktérovi pokaždé, když je vytvořena nová instance terminálu (Opět předpoklad, ale blízko tomu, co by mohl dělat). Takže ano, teď už chápete, co budeme dělat.
.bash_profile
je jedním z primárních známých dotfile
.
Takže v následujícím příkazu
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
To, co děláme, je ukládání výsledku echo
tj. výstupní řetězec do ~/.bash_profile
Takže, jak jsme uvedli výše, pokaždé, když otevřeme terminál nebo instanci terminálu, naše dotfiles
jsou načteny. Tedy .bash_profile
se načte a export
který jsme připojili výše, je spuštěn a tedy naše globální $PATH
se aktualizuje a dostaneme všechny příkazy uvnitř /usr/local/mysql/bin
.
P.s.
pokud nespouštíte export prvního příkazu přímo, ale pouze spouštíte druhý, abyste jej udrželi? Než pro aktuálně běžící instanci terminálu musíte,
source ~/.bash_profile
To říká našemu terminálu, aby znovu načetl tento konkrétní soubor.