반응형
출처 : http://www.wowunix.com/cgi-bin/CrazyWWWBoard.cgi?mode=read&num=80&db=solaris&backdepth=1
프롬프트에 현재 디렉토리명을 넣으려면?
그것은 사용하는 쉘에 따라 다르다. 몇몇 쉘에서는 이것에 쉽지만
다른 쉘에서는 어렵거나 불가능 할 수도 있다.
C Shell (csh):
다음을 여러분의 .cshrc에 넣어서 프롬프트를 여러분이 원하는 대로 바꿀 수 있다.
alias setprompt 'set prompt="${cwd}% "'
setprompt # to set the initial prompt
alias cd 'chdir \!* && setprompt'
만약 pushd와 popd를 원하면 다음과 같이 하라
alias pushd 'pushd \!* && setprompt'
alias popd 'popd \!* && setprompt'
몇몇 C쉘은 $cwd 변수를 가지고 있지 않다. 그때는 `pwd`를 사용해야 한다.
여러분이 단지 현재 디렉토리의 마지막 구성요소만을 원한다면 여러분의 프롬프트에
다음과 같이 넣을 수 있다. 예를 들어("mail% ")
alias setprompt 'set prompt="$cwd:t% "'
몇몇 다른 옛날 csh은 &&와 ||를 반대의 의미로 사용하기도 한다.
다음을 사용해 보라.
false && echo bug
만약 "bug"라는 문자가 나오면 여러분은 &&와 ||를 바꾸어서 사용해야 한다.
그리고 더 나은 csh을 구해서 설치 하라.
Bourne Shell (sh):
만약 Bourne Shell의 새로운 버전을 가지고 있다면 여러분은 자신의 명령인
shell 함수를 만들 수 있다.
xcd() { cd $* ; PS1="`pwd` $ "; }
만약 Bourne shell의 옛날 버전을 가지고 있다면 좀 복잡하긴 하지만
불가능 한건 아니다. 여기 그 방법이 있는데, 다음을 .profile에 넣어라.
LOGIN_SHELL=$$ export LOGIN_SHELL
CMDFILE=/tmp/cd.$$ export CMDFILE
# 16 is SIGURG, pick a signal that's not likely to be used
PROMPTSIG=16 export PROMPTSIG
trap '. $CMDFILE' $PROMPTSIG
그리고나서 다음의 실행 가능 스크립트를 만들어서 여러분의 PATH에 해당하는
위치에 "xcd"라는 이름으로 넣도록 하라.
: xcd directory - change directory and set prompt
: by signalling the login shell to read a command file
cat >${CMDFILE?"not set"} < cd $1
PS1="\`pwd\`$ "
EOF
kill -${PROMPTSIG?"not set"} ${LOGIN_SHELL?"not set"}
그리고 나서 "xcd /some/dir"하면 디렉토리가 변경이 된다.
Korn Shell (ksh):
다음을 .profile에 넣어라:
PS1='$PWD $ '
단지 디렉토리의 마지막 구성요소를 원한다면 다음과 같이 하라
PS1='${PWD##*/} $ '
T C shell (tcsh)
Tcsh은 csh의 개선된 버전이며 몇가지 고유의 변수와 다른 몇몇 기능들을 가지고 있다
%~ 현재 디렉토리, $HOME에 대해 ~를 사용한다
%/ 현재 디렉토리의 full pathname
%c or %. 현재 디렉토리의 trailing component
그래서 이렇게 할 수 있다.
set prompt='%~ '
BASH (FSF's "Bourne Again SHell")
$PS1의 \w는 현재 디렉토리의 Full pathname을 뜻하며 ~는 $HOME에 대한 확장이다
그래서 위의 sh과 ksh 솔루션에 더하여 여러분은 다음을 사용할 수 있다.
PS1='\w $ '
또는
PS1='\W $ '
반응형
'OS > Solaris' 카테고리의 다른 글
솔라리스 8에서 SunStudio 11 설치를 위한 jdk 설치 (0) | 2013.07.09 |
---|---|
Solaris_10 Hostname 변경 (0) | 2013.04.15 |
솔라리스 10에서 네트워크 설정하기. (1) | 2013.02.04 |
솔라리스 설치시 셋팅 사항 메모 (0) | 2013.02.04 |
Solaris Thread dump 분석방법 (0) | 2012.08.22 |