Environment-Variables

無法將文件夾添加到 .profile 文件中的 PATH

  • August 26, 2015

以下是我的.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

最近添加了matlab( )的路徑。~/../../usr/local/MATLAB/R2015a/bin/但是,添加matlab路徑後,我仍然無法matlab通過簡單地執行命令從任何文件夾執行./matlab

我是否正確添加了路徑?

我應該重新啟動系統以應用更改嗎?

不需要重新啟動,但重新載入.profile是必要的。嘗試執行source .profile。或者,您可以註銷並重新登錄。

主要問題是執行在目前目錄中./matlab呼叫的執行檔。matlab要在其中查找$PATH,您只需鍵入matlab. 該PATH變數僅在命令名稱中沒有斜杠時使用。

另外,刪除該export PATH=…行並添加

PATH=$PATH:/usr/local/MATLAB/R2015a/bin

或者

PATH=/usr/local/MATLAB/R2015a/bin:$PATH

行前if [ -d "$HOME/bin" ]。已經有要添加的程式碼/home/naveen/bin(假設這是您的主目錄,如果不是,$HOME/bin則添加正確的目錄),因此您無需再次添加它。如果$HOME/bin不存在,仍要添加 Matlab 目錄,所以它屬於if. 使用絕對路徑,相對路徑在這裡沒有意義。首先或最後添加 Matlab 目錄,具體取決於您是否希望 Matlab 執行檔優先於不同目錄中同名的其他執行檔(可能沒有同名的執行檔,在這種情況下無關緊要)。

您無需重新啟動。但是,.profile只有在您登錄時才會讀取。您也可以通過鍵入. ~/.profileshell 為終端會話重新載入它;這僅適用於從該特定 shell 啟動的程序。

引用自:https://unix.stackexchange.com/questions/225685