.profileファイルのPATHにフォルダを追加できません。

.profileファイルのPATHにフォルダを追加できません。

私の.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

正しいパスを追加しましたか?

変更を適用するにはシステムを再起動する必要がありますか?

答え1

再起動は必要ありませんが、リロードは.profile必要です。実行してみてくださいsource .profile。または、ログアウトして再度ログインすることもできます。

答え2

主な問題は、./matlab現在ディレクトリから呼び出された実行可能ファイルを実行することです。matlabそれを見つけるために$PATH必要ですただ入力してくださいmatlabPATHこの変数は、コマンド名にスラッシュがない場合にのみ使用されます。

また、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ログインした場合にのみ読むことができます。シェルに入力してターミナルセッション用にリロードすることもできます. ~/.profile。これは、特定のシェルで起動されたプログラムでのみ機能します。

答え3

$HOME/binあなたの例が存在しない場合、何も起こりません。たぶんこれを試してみてください:

# 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

また、現在のディレクトリで具体的に実行しようとしているため、実行は決して機能./matlabしません(現在のディレクトリではない場合)。ただ実行してください。matlabmatlabmatlab

別のオプションは、matlabをパスに追加するのではなく、パスにシンボリックリンクすることです$HOME/bin(ここで実行したい唯一の実行可能ファイルの場合:)

ln -s /usr/local/MATLAB/R2015a/bin/matlab ~/bin/

編集:ログアウトするか、source ~/.profile各シェルで実行する必要があります。

答え4

matlabを入力するのではなく、単に入力してみてください./matlab

これは、変数を介さずに./現在のディレクトリで実行可能ファイルを探していることを意味します。matlabPATH

関連情報