A reinicialização não é necessária, mas o recarregamento de .profile
é. Tente executar source .profile
. Como alternativa, você pode fazer logoff e fazer logon novamente.
O seguinte é meu arquivo .profile
:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
export PATH=/home/naveen/bin:~/../../usr/local/MATLAB/R2015a/bin/:$PATH
fi
O caminho para matlab
( ~/../../usr/local/MATLAB/R2015a/bin/
) foi adicionado recentemente. Mas, depois de adicionar o caminho matlab
, ainda não posso executar matlab
de QUALQUER pasta simplesmente executando o comando ./matlab
.
Estou adicionando o caminho corretamente?
Devo reiniciar o sistema para que as alterações sejam aplicadas?
O principal problema é que ./matlab
executa o executável chamado matlab
no diretório atual. Para procurá-lo em $PATH
, você precisa digitar apenas matlab
. A variável PATH
é usada apenas quando não há barra no nome do comando.
Além disso, remova a linha export PATH=…
e adicione
PATH=$PATH:/usr/local/MATLAB/R2015a/bin
ou
PATH=/usr/local/MATLAB/R2015a/bin:$PATH
antes da linha if [ -d "$HOME/bin" ]
. Já existe um código para adicionar /home/naveen/bin
(supondo que seja seu diretório pessoal, e se não for $HOME/bin
o correto a ser adicionado), então você não precisa adicioná-lo novamente. Se $HOME/bin
não existir, você ainda deseja adicionar o diretório Matlab, portanto, ele está fora do if
. Use um caminho absoluto, um caminho relativo não faz sentido aqui. Adicione o diretório Matlab primeiro ou último, dependendo se você deseja que os executáveis do Matlab tenham prioridade sobre outros executáveis com o mesmo nome em diretórios diferentes (provavelmente não há executáveis com o mesmo nome, caso em que não importa). / p>
Você não precisa reiniciar. No entanto, .profile
é lido apenas quando você efetua login. Você também pode recarregá-lo para uma sessão de terminal digitando . ~/.profile
no shell; isso só se aplica a programas iniciados a partir desse shell específico.
Seu exemplo não faria nada se $HOME/bin
não existir. Talvez tente isso em vez disso:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
PATH=/usr/local/MATLAB/R2015a/bin/:$PATH
E, executar ./matlab
nunca funcionará (se matlab
não estiver no diretório atual) porque você está tentando executar matlab
especificamente no diretório atual. Simplesmente execute matlab
.
Outra opção seria ligar simbolicamente o matlab no seu $HOME/bin
em vez de adicioná-lo ao caminho (se for o único executável que você deseja executar a partir daí:)
ln -s /usr/local/MATLAB/R2015a/bin/matlab ~/bin/
Editar: você precisará sair ou executar source ~/.profile
em cada shell.
Tente digitar simplesmente matlab
e não ./matlab
.
O ./
significa que você está procurando pelo executável matlab
no diretório atual sem passar pela variável PATH
.