Solaris

유닉스 $PATH 설정

알 수 없는 사용자 2008. 2. 25.
728x90
사용자가 명령어를 실행시키면 쉘은 해당 명령어를 찾기위해서 PATH 라는 환경변수를 사용합니다. PATH 에는 명령어를 검색할 디렉토리들이 등록되어 있는데 앞에서부터 순서대로 검색하는데 PATH에 등록된 디렉토리들에서 해당 명령어를 찾지 못하면 그런 명령어 없다고 에러를 출력합니다.
 
그런데 사용자가 패키지나 소스를 컴파일해서 프로그램을 설치하게 되면 정해진 디렉토리로 설치가 됩니다. 대부분이 기본값으로 /usr/local 이하로 설치가 되며 실행파일은 /usr/local/bin 으로 설치되는것이 일반적인 경우입니다. 그런데 /usr/local/bin 디렉토리가 기본적으로 PATH 에 등록되어 있지가 않습니다. 그래서 프로그램을 분명히 설치를 했는데도 아래와 같이 실행하면 그런 명렁어 없다고 나오죠..
 
# make -v
 
하지만 아래와 같이 하면 됩니다.
 
# /usr/local/bin/make -v
 
명령어가 있는 절대경로를 다 적어준겁니다. 그런데 매번 이렇게 하기에는 불편하니 PATH 에 /usr/local/bin을 등록하면 경로를 써주지 않아도 실행이 됩니다.
 
현재 자신의 PATH 값을 보려면 아래와 같이 하면 됩니다.
 
# echo $PATH
 
그리고 PATH에 새로운 값을 추가하려면 아래와 같이 하면 됩니다.
 
# PATH=$PATH:/usr/local/bin:/usr/ccs/bin
# export PATH
 
위에서 /usr/local/bin 과 /usr/ccs/bin 디렉토리를 추가했습니다. 이제 /usr/local/bin에 있는 명령어를 아무곳에서나 경로명 없이 실행할 수 있습니다.
 
하지만 위의 방법은 로그아웃하기 전까지만 유효합니다. 다시 로그인하면 또 위와 같이 PATH를 설정해줘야합니다. 그래서 이걸 자동화하는 방법이 사용자의 profile에 위의 내용을 추가하는 겁니다.
 
# vi $HOME/.profile
PATH=$PATH:/usr/local/bin:/usr/ccs/bin
export PATH
 
만약 csh을 사용한다면 아래와 같이 하세요..
 
# vi $HOME/.login
setenv PATH $PATH:/usr/local/bin:/usr/ccs/bin
 
 
아! 그리고 make가 꼭 /usr/local/bin에 설치되었다는 보장은 없습니다. 어디에 설치되어 있는지 모른다면 검색을 해보세요..
 
# find / -name make
 
그리고 솔라리스 기본 make가 /usr/ccs/bin에 있습니다. 참고하세요~











bash-3.00# PATH=#PATH:/usr/local/bin:/bin:/usr/bin
bash-3.00# export PATH
728x90

댓글