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.