.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당신이 필요합니다그냥 입력하세요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로그인한 경우에만 읽을 수 있습니다. 셸에 입력하여 터미널 세션을 위해 다시 로드 할 수도 있습니다 . ~/.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

관련 정보