Jest więc kilka miejsc, w których terminal szuka poleceń. Te miejsca są przechowywane w Twojej $PATH zmienny. Pomyśl o tym jako o zmiennej globalnej, w której terminal iteruje w poszukiwaniu dowolnego polecenia. Są to zwykle pliki binarne, patrz, jak zwykle odwołuje się do folderu /bin.
/bin folder zawiera wiele plików wykonywalnych. Okazuje się, że to rozkaz. Te różne lokalizacje folderów są przechowywane w jednej zmiennej globalnej, tj. $PATH oddzielone :
Teraz zwykle programy po instalacji zajmują się aktualizacją PATH i mówiąc terminalowi, że hej, mogę być wszystkimi poleceniami w moim bin teczka.
Okazuje się, że MySql nie robi tego podczas instalacji, więc musimy to zrobić ręcznie.
Robimy to za pomocą polecenia
export PATH=$PATH:/usr/local/mysql/bin
Jeśli to zepsujesz, export jest oczywiste. Potraktuj to jako zadanie. Więc export zmienna PATH o wartości stara $PATH połącz z nowym bin np. /usr/local/mysql/bin
W ten sposób po wykonaniu wszystkich poleceń wewnątrz /usr/local/mysql/bin są dla nas dostępne.
Jest tu mały haczyk. Pomyśl o jednym oknie terminala jako o jednej instancji programu i może o czymś w rodzaju $PATH jest zmienną klasy (być może). Zauważ, że to czyste założenie. Tak więc po zamknięciu tracimy nowe zadanie. A jeśli ponownie otworzymy terminal, nie będziemy mieli ponownie dostępu do naszego polecenia, ponieważ ostatnio podczas eksportu było ono przechowywane w pamięci podstawowej, która jest ulotna.
Teraz musimy eksportować nasze binaria mysql za każdym razem, gdy używamy terminala. Więc musimy wytrwać concat na naszej drodze.
Być może wiesz, że nasz terminal używa czegoś o nazwie dotfiles
aby załadować konfigurację podczas inicjalizacji terminala. Lubię myśleć o tym jako o zestawach rzeczy przekazywanych do konstruktora za każdym razem, gdy tworzona jest nowa instancja terminala (znowu założenie, ale bliskie temu, co może robić). Więc tak, teraz rozumiesz, co zamierzamy zrobić.
.bash_profile jest jednym z podstawowych znanych dotfile .
Tak więc w następującym poleceniu
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
Zapisujemy wynik echo np. wypisz ciąg do ~/.bash_profile
Więc teraz, jak zauważyliśmy powyżej, za każdym razem, gdy otwieramy terminal lub instancję terminala, nasze dotfiles są załadowane. Więc .bash_profile jest ładowany odpowiednio i export dodany powyżej jest uruchamiany, a zatem nasza globalna $PATH zostanie zaktualizowany i otrzymamy wszystkie polecenia wewnątrz /usr/local/mysql/bin .
PS
jeśli nie uruchamiasz bezpośredniego eksportu pierwszego polecenia, ale po prostu uruchamiasz drugie, aby go utrwalić? Musisz to zrobić w przypadku aktualnie działającej instancji terminala,
source ~/.bash_profile
To każe naszemu terminalowi ponownie załadować ten konkretny plik.