quindi ci sono pochi posti dove terminale guarda per comandi. Questi luoghi sono memorizzati nella variabile $PATH
. Pensala come una variabile globale in cui il terminale scorre per cercare qualsiasi comando. Di solito, i binari guardano in che modo viene di solito fatto riferimento alla cartella/bin.
/bin
la cartella contiene molti file eseguibili al suo interno. Risulta che questo è un comando. Questo differenti percorsi delle cartelle sono memorizzati all'interno di una variabile globale cioè $PATH
separati da :
Ora di solito i programmi al momento dell'installazione si prende cura di aggiornare PATH
& dire al vostro terminale che hey posso essere tutti i comandi all'interno della mia cartella bin
.
Risulta che MySql non lo fa al momento dell'installazione, quindi dobbiamo farlo manualmente.
lo facciamo seguendo il comando,
export PATH=$PATH:/usr/local/mysql/bin
Se si scomposizione, export
si spiega da sé. Pensalo come un incarico. Così export
una variabile PATH
con valore storico $PATH
concat con il nuovo bin
cioè /usr/local/mysql/bin
In questo modo, dopo l'esecuzione di esso tutti i comandi all'interno /usr/local/mysql/bin
sono a nostra disposizione.
C'è un piccolo fermo qui. Pensa a una finestra di terminale come a un'istanza di programma e forse qualcosa come $PATH
è una variabile di classe (forse). Nota questo è pura supposizione. Così da vicino perdiamo il nuovo incarico. E se riapriamo il terminale non avremo più accesso al nostro comando perché l'ultimo quando abbiamo esportato, è stato memorizzato nella memoria primaria che è volatile.
Ora abbiamo bisogno di avere i nostri binari mysql esportati ogni volta che usiamo il terminale. Quindi dobbiamo persistere concat nel nostro percorso.
Potreste essere consapevoli del fatto che il nostro terminale utilizzando qualcosa chiamato dotfiles
per caricare la configurazione sul inizializzazione del terminale. Mi piace pensare che sia come set di cose passati a costruire ogni volta che viene creata una nuova istanza di terminale (sempre un'ipotesi ma vicina a ciò che potrebbe fare). Quindi sì, ora capisci cosa stiamo andando.
.bash_profile
è uno dei primario nota dotfile
.
Così nel seguente comando,
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
Quello che stiamo facendo è salvare risultato di echo
cioè stringa di output a ~/.bash_profile
Così ora, come abbiamo osservato in precedenza ogni volta che apriamo terminale o istanza del terminale sono caricati i nostri dotfiles
. Così .bash_profile
è caricato rispettivamente, e export
che accodato sopra è gestito & così un nostro globale $PATH
viene aggiornato e si ottengono tutti i comandi all'interno /usr/local/mysql/bin
.
P.S.
se non si esegue prima esportazione di comando direttamente, ma solo in esecuzione secondo per persistono? Che per la corrente istanza in esecuzione del terminale è necessario,
source ~/.bash_profile
Questo dice il nostro terminale di ricaricare quel particolare file.
cosa c'è nel vostro '$ path'? – admdrew