본문 바로가기
컴퓨터 일반/운영체제

솔라리스 콘쉘 설정

by ITPro 2010. 8. 11.

콘쉘은 제일 먼저 /etc/profile 의 설정을 읽어 들인후

 

$HOME/.profile 의 설정을 읽어 들인다. ($HOME은 홈 디렉토리 root는 / )

 

그다음 $HOME/.kshrc 의 설정을 읽어 들인다.

 

$HOME/.kshrc 파일은 $HOME/.profileENV="$HOME/.kshrc"이 설정되어 있지
않으면 읽어 들이지 않는다.

 

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


[root@sola:/:276]# cat $HOME/.profile

PATH=$PATH:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin:/usr/ucb:/opt/sfw/bin
EXINIT="set ai nu ts=3 showmode"
ENV="$HOME/.kshrc"
EDITOR="vi"
MANPATH=/usr/share/man:/usr/local/man

export PATH EXINIT ENV EDITOR

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

 

PS1(prompt String 1) 값은 쉘 프롬프트를 나타내는 변수로써, 콘쉘의 경우

 

보통 $을 가지도록 설정되어있다.

 

export PS1="$LOGNAME$" 와 같이 설정 값 변경이 가능하나 현재 쉘에서만 적용되므로

 

$HOME/.kshrc에 값을 설정해 모든 쉘에 적용이 되도록 설정이 가능하다.

 

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

 

[root@sola:/:278]# cat $HOME/.kshrc

set -o vi
set -o noclobber
set -o ignoreeof

HOSTNAME=sola
EDITOR=vi
VISUAL=vi
PS1='['`whoami`"@$HOSTNAME:\$PWD:\!]# "
export HOSTNAME EDITOR VISUAL PS1

alias rm='rm -i'
alias vi='vim'

 

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

 

PS1='['`whoami`"@$HOSTNAME:\$PWD:\!]# "

 

`whoami`

 

`(백 쿼터, 보통 키보트 자판 "1"의 왼쪽에 위치)는 백쿼터 안에 묶인 명령의

 

실행 결과를 반환한다.

 

따라서 `whoami`의 실행결과인 현재 쉘을 사용하는 유저의 ID가 출력된다.

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

\$PWD

 

\(역 슬래쉬, 보통 "←"의 왼쪽이나 아래쪽에 위치한다.)는 다음에 오는 한개의

메타문자(',",\,`,$ 등등)의 기능을 무시하고 일반 문자로 처리한다.

$PWD라고 하지 않고 \$PWD라고 한 이유는 그냥 $PWD라고 할 경우

 

PS1에 대입하는 과정에서 $PWD가 현재의 PWD 값으로 치환되어 저장되기 때문이다.

그렇기 때문에 \$PWD 로 지정하여 PS1의 값에 저장될때 $PWD로 저장되도록하여

실제 쉘 프롬프트가 불러올때 그때 그때 PWD의 값을 제대로 불러들여 출력이

원래 의도대로 하려는 목적이다.

 

 

예) 현재 위치가 /usr/ucb/ 인경우

(대입전) → (대입후)

PS1="$PWD"→PS1="/usr/ucb/"

PS1="\$PWD"→PS1="$PWD"

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

\!

 

\!는 현재 작업 번호를 나타낸다.

반응형

'컴퓨터 일반 > 운영체제' 카테고리의 다른 글

쉘의 특성  (0) 2010.08.11
vi,vim 단축키 정리  (0) 2010.08.11
솔라리스 네트워크 설정  (0) 2010.08.11
setfacl 명령어 -ACL(Access Control List)-  (0) 2010.08.11
Shadow 파일 형식  (0) 2010.08.11