솔라리스 쉘 프롬프트 변경
Unix

기본적으로 Solaris(솔라리스)를 설치하게 되면 일반 사용자는 /bin/sh , Root 는 /sbin/sh 을 기본적으로 사용하게 됩니다.

근데, 현재 디렉토리가안나오게 되죠.

기본 쉘을 사용한다는 기준아래 현재 디렉토리와 유저, hostname을 표시하게 할 경우에는 아래와 같이 설정합니다.

이왕이면 korn이나 개량된 본쉘이 낫습니다만.....그건 서버관리자의 선택에 따라야 하는지라....

일반 유저

/etc/skel/.profile 에 아래와 같은 내용을 추가합니다.

PS1="$LOGNAME@`/usr/local/bin/uname -n` [`/usr/local/bin/pwd`] $ "
cd() { chdir $* ; PS1="$LOGNAME@`/usr/local/bin/uname -n` [`/usr/local/bin/pwd`] $ "; }

$LOGNAME : 환경변수입니다. 현재 로그인된 User ID를 표시하죠.
`/usr/local/bin/uname -n` : 현재 서버의 Hostname을 표시합니다.
`/usr/local/bin/pwd` : 현재 디렉토리를 표시하는 Pwd 명령입니다.


※ 푸른색으로 쓰인 부분의 시작과 끝은 '(싱글쿼테이션)이 아니라 숫자키 1옆의 `(쿼테이션 마크, 오프닝 싱글, 그레이브 액센트 등으로 불림) 입니다. 유닉스에서는 특별한 의미가 있는 마크죠. 헷갈리지 마시길...
※ cd() 부분은 cd 라는 명령 대신 함수로 재정의하는 것으로써 디렉토리가 변경되었을 때 PS1을 재정의하는 것입니다. 풀어쓴다고 두번 나누어 썼는데. 합칠수도 있습니다.


기존에 이미 발급된 아이디들은 일일이 홈디렉토리의 .profile 을 수정해 주셔야 합니다.

Root 유저

root의 홈디렉토리의 .profile-EIS 파일을 수정합니다. 기존의 PS1은 맨 앞에 #(Sharp, 샾)을 추가하여 보존해 두시길 바랍니다.


PS1="$LOGNAME@`/usr/local/bin/uname -n` [`/usr/local/bin/pwd`] # "
cd() { chdir $* ; PS1="$LOGNAME@`/usr/local/bin/uname -n` [`/usr/local/bin/pwd`] # "; }


일반 유저와 별 차이가 없지요? 다시 로그인하시면 아래와 비슷하게 보이게 됩니다.

루트유저 프롬프트

루트유저 프롬프트

일반유저 프롬프트

일반유저 프롬프트

 

--------------------------------------------------------------------------------

root로 로그인할때 bash프롬프트 사용법

vi /etc/passwd 파일을 열어서

root 마지막 쉘쪽 sbin/sh를 bin/bash로 변경하고

wq!저장 종료

---------------------------------------------------------------------------------


출처 : http://tinyfall.tistory.com/206


'Unix' 카테고리의 다른 글

솔라리스 10 ssh 접속  (0) 2014.10.31
솔라리스(unix) 파일권한 관리  (0) 2014.10.31
솔라리스(unix) 디스크 관리 및 추가  (0) 2014.10.31
솔라리스(unix) 파일 시스템 관리(fsck, du....)  (0) 2014.10.31
unix 암호찾기  (0) 2014.10.31