티스토리 뷰

Linux

su시 .bash_profile 적용

Mr.Ban 2022. 7. 4. 13:22

VMware에 원격 접속을 해보기 위해 Putty로 접속을 하였다.

root 로 로그인을 했다가 oracle 유저로 su 하였다.

환경변수가 표시되지 않는다.

그런데 환경변수가 설정되지 않아 있다. 그래서 .bash_profile을 확인해보았다.

cat ~/.bash_profile

oracle유저 .bash_profile 내용

설정 파일에는 문제가 없다. 그렇다면 .bash_profile이 실행이 안된것이다.

왜일까? 처음에는 ssh로 접속하여서 그런가? 한번 알아보자.

 

.bash_profile은 Login Shell을 실행할 경우 자동으로 실행되는 파일이다.

그렇다면 su oracle 시에는 Login Shell이 아니였다는 것이다.

su 옵션을 확인해보자.

su -help

su 옵션

-, -l, -login이 동일한 옵션이며 이 옵션은 Login Shell을 실행하는 기능이다.

그렇다. 해당 옵션을 붙이지 않아서 non-Login Shell로 접속이 되어 .bash_profile이 실행되지 않았던 것이다.

그럼 다시 해당 옵션으로 유저를 바꾸어 확인해보자.

.bash_profile 실행여부 확인

정상적으로 .bash_profile이 실행되어 환경변수가 설정된 것을 확인 할 수 있다.

 

저와 같이 Linux에 익숙치 않으신분들에게 도움이 되었으면 좋겠습니다.

 

댓글