반응형

출처 : 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 $ '

반응형
반응형


보통 gcc나 g++은 /user/bin에 있고 cc는 gcc의 링크가 걸려 있다. (내가 알기로는)

HP-UX에서 사용하는 c++ 컴파일러는 aCC인데 해당 컴파일러의 위치는
/opt/aCC/bin에 있다. 물론 /opt/aCC에 lib나 include 관련 내용도 찾아 볼 수 있다.

CC 파일의 경우는 /usr/ccs에 보면 cc 파일이 있다.

----------------------------------------------------------------------------------
어쨋거나 HP-UX에서 사용하는 aCC용 옵션들을 보면 아래와 같다.


컴파일 옵션:

aCC
HP aC++ 컴파일러
$EXTRA_CFLAG
7 HP-UX 플랫폼에서 IA64 및 64비트 지원이 사용 가능한 경우 이 플래그는7 7 +DD64 -AA 7 값을 포함하고, 32비트 지원이 사용 가능한 경우7 7 +DD32 -AA 7 값을 포함합니다. HP-UX 플랫폼에서 PA-RISC 및 64비트 지원이 사용 가능한 경우,7 +DA2.0W 값을 포함합니다. PA-RISC 플랫폼에서의 32비트 지원을 위해 이 플래그에는 값이 포함되지 않습니다.7 7
7
+DD64
7
IA64의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
+DD32
7
IA64의 HP-UX용 32비트 코드를 생성하기 위해 사용되어야 합니다.7
7 7
-AA
7
IA64에서 이름공간 std 및 C++ 표준 라이브러리와 같은 ANSI C++ 표준 기능을 허용합니다.7
7 7
+DA2.0W
7
PA-RISC의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
-ext
"long long" 지원을 포함하는 여러 C++ 확장자를 사용할 수 있게 합니다.
-I$DB2PATH/include
DB2 포함 파일의 위치를 지정합니다. 예를 들면, $HOME/sqllib/include와 같습니다.
-c
컴파일만 수행하고 링크는 수행하지 마십시오. 컴파일과 링크는 서로 다른 단계입니다.

링크 옵션

aCC
링커에 대한 프론트엔드로 HP aC++ 컴파일러를 사용합니다.
$EXTRA_CFLAG
7 HP-UX 플랫폼에서 IA64 및 64비트 지원이 사용 가능한 경우 이 플래그는7 7 +DD64 -AA 7 값을 포함하고, 32비트 지원이 사용 가능한 경우7 7 +DD32 -AA 7 값을 포함합니다. HP-UX 플랫폼에서 PA-RISC 및 64비트 지원이 사용 가능한 경우,7 +DA2.0W 값을 포함합니다. PA-RISC 플랫폼에서의 32비트 지원을 위해 이 플래그에는 값이 포함되지 않습니다.7 7
7
+DD64
7
IA64의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
+DD32
7
IA64의 HP-UX용 32비트 코드를 생성하기 위해 사용되어야 합니다.7
7 7
-AA
7
IA64에서 이름공간 std 및 C++ 표준 라이브러리와 같은 ANSI C++ 표준 기능을 허용합니다.7
7 7
+DA2.0W
7
PA-RISC의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
-o $1
실행 파일을 지정합니다.
$1.o
프로그램 오브젝트 파일을 지정합니다.
utilemb.o
Embedded SQL 프로그램의 경우, 오류 점검을 위한 Embedded SQL 유틸리티 오브젝트 파일을 포함합니다.
utilapi.o
non-Embedded SQL 프로그램의 경우, 오류 점검을 위한 DB2 API 유틸리티 오브젝트 파일을 포함합니다.
7 7
$EXTRA_LFLAG
7
런타임 경로를 지정합니다. 설정되어 있는 경우, 32비트에 대해서는 -Wl,+b$HOME/sqllib/lib32 값이 포함되며 64비트에 대해서는 -Wl,+b$HOME/sqllib/lib가 포함됩니다. 설정하지 않은 경우, 값을 포함하지 않습니다.7
7 7
-L$DB2PATH/$LIB
7
DB2 런타임 공유 라이브러리의 위치를 지정합니다. 7 32비트의 경우: $HOME/sqllib/lib32; 64비트의 경우:7 $HOME/sqllib/lib.7
-ldb2
DB2 라이브러리로 링크합니다.

추가 컴파일러 옵션에 대한 내용은 해당 컴파일러의 문서를 참조하십시오.



또한 HP-UX에서 사용하는 cc용 옵션들을 보면 아래와 같다. cc는 /usr/bin에 위치하고 있다.

컴파일 옵션:

cc
C 컴파일러
$EXTRA_CFLAG
7 HP-UX 플랫폼에서 IA64 및 64비트 지원이 사용 가능한 경우 이 플래그는7 +DD64 값을 포함하고, 32비트 지원이 사용 가능한 경우7 +DD32 값을 포함합니다. HP-UX 플랫폼에서 PA-RISC 및 64비트 지원이 사용 가능한 경우,7 +DA2.0W 값을 포함합니다. PA-RISC 플랫폼에서의 32비트 지원을 위해 이 플래그에는 값이 포함되지 않습니다.7 7
7
+DD64
7
IA64의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
+DD32
7
IA64의 HP-UX용 32비트 코드를 생성하기 위해 사용되어야 합니다.7
7
+DA2.0W
7
PA-RISC의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
-Ae
HP ANSI 확장 모드를 사용 가능하게 합니다.
-I$DB2PATH/include
DB2 포함 파일의 위치를 지정합니다.
-c
컴파일만 수행하고 링크는 수행하지 마십시오. 컴파일과 링크는 서로 다른 단계입니다.

링크 옵션

cc
링커에 대한 프론트엔드로 컴파일러를 사용합니다.
$EXTRA_CFLAG
7 HP-UX 플랫폼에서 IA64 및 64비트 지원이 사용 가능한 경우 이 플래그는7 +DD64 값을 포함하고, 32비트 지원이 사용 가능한 경우7 +DD32 값을 포함합니다. HP-UX 플랫폼에서 PA-RISC 및 64비트 지원이 사용 가능한 경우,7 +DA2.0W 값을 포함합니다. PA-RISC 플랫폼에서의 32비트 지원을 위해 이 플래그에는 값이 포함되지 않습니다.7 7
7
+DD64
7
IA64의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
+DD32
7
IA64의 HP-UX용 32비트 코드를 생성하기 위해 사용되어야 합니다.7
7
+DA2.0W
7
PA-RISC의 HP-UX용 64비트 코드를 생성하기 위해 사용되어야 합니다.7
7
-o $1
실행 파일을 지정합니다.
$1.o
프로그램 오브젝트 파일을 지정합니다.
utilemb.o
Embedded SQL 프로그램의 경우, 오류 점검을 위한 Embedded SQL 유틸리티 오브젝트 파일을 포함합니다.
utilapi.o
non-Embedded SQL 프로그램의 경우, 오류 점검을 위한 DB2 API 유틸리티 오브젝트 파일을 포함합니다.
7 7
$EXTRA_LFLAG
7
런타임 경로를 지정합니다. 설정되어 있는 경우, 32비트에 대해서는 -Wl,+b$HOME/sqllib/lib32 값이 포함되며 64비트에 대해서는 -Wl,+b$HOME/sqllib/lib가 포함됩니다. 설정하지 않은 경우, 값을 포함하지 않습니다.7
7 7
-L$DB2PATH/$LIB
7
DB2 런타임 공유 라이브러리의 위치를 지정합니다. 7 32비트의 경우: $HOME/sqllib/lib32; 64비트의 경우:7 $HOME/sqllib/lib.7
-ldb2
DB2 라이브러리로 링크합니다.

추가 컴파일러 옵션에 대한 내용은 해당 컴파일러의 문서를 참조하십시오.

반응형

+ Recent posts