Portanto, existem poucos lugares onde o terminal procura comandos. Esses lugares são armazenados em seu
$PATH
variável. Pense nisso como uma variável global onde o terminal itera para procurar qualquer comando. Isso geralmente são binários, veja como a pasta /bin geralmente é referenciada. /bin
pasta tem muitos arquivos executáveis dentro dela. Acontece que isso é comando. Esses diferentes locais de pasta são armazenados dentro de uma variável global, ou seja, $PATH
separados por :
Agora, geralmente, os programas após a instalação cuidam da atualização do
PATH
&dizendo ao seu terminal que ei, eu posso ser todos os comandos dentro do meu bin
pasta. Acontece que o MySql não faz isso na instalação, então temos que fazer isso manualmente.
Fazemos isso seguindo o comando,
export PATH=$PATH:/usr/local/mysql/bin
Se você dividir,
export
é autoexplicativo. Pense nisso como uma tarefa. Então export
uma variável PATH
com valor antigo $PATH
concat com novo bin
ou seja, /usr/local/mysql/bin
Desta forma, depois de executar todos os comandos dentro de
/usr/local/mysql/bin
estão disponíveis para nós. Há um pequeno problema aqui. Pense em uma janela de terminal como uma instância de programa e talvez algo como
$PATH
é variável de classe (talvez). Observe que isso é pura suposição. Assim, ao fechar, perdemos a nova atribuição. E se reabrirmos o terminal, não teremos acesso ao nosso comando novamente, porque da última vez que exportamos, ele foi armazenado na memória primária, que é volátil. Agora precisamos ter nossos binários mysql exportados toda vez que usarmos o terminal. Então temos que persistir concat em nosso caminho.
Você deve estar ciente de que nosso terminal está usando algo chamado
dotfiles
para carregar a configuração na inicialização do terminal. Eu gosto de pensar que é como conjuntos de coisas passadas para o construtor toda vez que uma nova instância do terminal é criada (novamente uma suposição, mas próxima do que pode estar fazendo). Então, sim, agora você entendeu o que vamos fazer. .bash_profile
é um dos principais dotfile
conhecidos . Então, no seguinte comando,
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
O que estamos fazendo é salvar o resultado de
echo
ou seja, string de saída para ~/.bash_profile Então, agora, como observamos acima, toda vez que abrimos o terminal ou instância do terminal, nossos
dotfiles
são carregados. Então .bash_profile
é carregado respectivamente e export
que anexamos acima é executado e, portanto, nosso $PATH
global é atualizado e obtemos todos os comandos dentro de /usr/local/mysql/bin
. P.s.
se você não estiver executando o primeiro comando export diretamente, mas apenas executando o segundo para persistir? Do que para a instância atual do terminal em execução, você precisa,
source ~/.bash_profile
Isso diz ao nosso terminal para recarregar esse arquivo específico.