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 .