20th Anniversary
  회원가입   회원찾기
  ID PW
 
  공통
  Solaris x86
  Solaris
  이전 나만의 팁
 

   제 목 : PATH설정
   작성자 : 김성수 날짜 : 2003-02-26
   분류 : Solaris x86 조회수 : 9795

제가 Q&A란에 질문드렸던건데 답이 안올라와서 삽질좀 했습니다.
초보라 틀린데가 있을지 모르니 잘못된곳 있으면 Re달아주세요

처음에 CDE로 로그인하면 기본으로 PATH가 잡혀 있습니다.(/etc/profile이나 .profile등에서 패스를 설정하지 않아도-어떤 파일에서도 설정해 준 적이 없지만-기본으로 잡힙니다)
그런데 여기 잘 보면 현재 디렉토리도 포함되어 있습니다. (공백은 현재 디렉토리)
/etc/default/login 에 중간쯤 보시면

# PATH sets the initial shell PATH variable
#
#PATH=/usr/bin:

이런곳이 있을겁니다. 그게 주석처리되어있어서 현재 그 라인이 영향을 주는것은 아니지만 시스템 기본설정이 그렇게 되어있다는것 같습니다.
기본설정은 바이너리형태로 하드코딩되어있다는 뜻이죠
주석을 풀어주고 콜론만 지우시면 현재디렉토리가 패스에서 제거됩니다.
PATH=$PATH:/usr/local/bin
이런식으로 패스가 붙어나가기때문에 패스뒤에 :이 있으면 콜론이 중복되어 현재디렉토리가 포함되게 되죠
물론 이 라인을 건드리시면 모든 시스템 사용자에게 적용이 됩니다.
그 다음에 /etc/profile이 실행이 됩니다. 배쉬를 사용하고 있는데 다른 쉘에서도 그런지는 잘 모르겠습니다. csh에서는 .login이 실행된다고 하더군요
그 다음 홈디렉토리의 /etc/.profile이 실행이 됩니다.
.bashrc나 .bash_profile등은 시스템에서 실행하지는 않고 직접 source 해주셔야 합니다. 대부분은 .profile등에 source ~/.bash_rc등을 집어넣어서 꼬리에 꼬리를 물도록 만들죠(저같은경우는 그냥 링크를 겁니다. 여러개로 분산되어있으면 관리도 어렵거든요)

텔넷로그인은 그런식이고 CDE로 직접 들어갈때는 몇가지 패스가 더 기본으로 추가되게 됩니다. 홈디렉토리에 보시면 .dt/ 와 .dtprofile이 있습니다. (없을수도 있습니다.) .dtprofile의 맨 마지막라인에 변수이름 있고 true나 false로 설정되어 있을겁니다. 그게 true로 설정되어 있으면 .profile을 실행하게 됩니다.
그러니까 직접 머신에서 CDE로 로그인하면 .profile은 두번 실행되는 셈이죠(배쉬에서만 그런지 공통적인지는 확인해보지 않았습니다.)
따라서 패스가 중복설정되게 됩니다.(텔넷으로 로그인할때는 관계없음)
제경우는 그냥 false로 설정해 놓습니다.


[목록보기]  [출력]  
  사이트 소개  |  연락처  |  사이트 맵  |  이메일주소 무단 수집 거부 Copyright (c) 2021 Solaris School. All rights reserved.