Linux 쉘 프롬프트에 마지막 리턴 값 표시


12

나는 현재 Linux 컴퓨터에 있고 쉘 프롬프트는 마지막 반환 값과 실행 된 명령 수를 보여줍니다 (그림이 포함되어 있으며 보라색으로 표시됨).

내 컴퓨터에는이 기능이 없습니다. 어떻게 구성 할 수 있습니까?
더 자세한 정보가 필요하면 Xubunto를 사용하고 있습니다. 저는 Linux 사용자가 아닙니다 (여기에서 무엇이 관련되어 있는지 모르겠습니다).

예


대답하기에는 너무 모호합니다. 실행중인 명령은 무엇입니까? 이것이없는 컴퓨터 (OS)는 무엇입니까?
Chris Ting

나는 내 OS가 Xubuntu라고 말했으며 이것은 특정 명령과 관련이 없으며 항상 표시되는 것입니다.
Eran

답변:


10

bashXubuntu의 기본 쉘 인 것 같습니다 .

.bashrc또는 .bash_profile시스템 구성에 따라 편집 하거나로 시작하는 줄을 찾으십시오 PS1=. 이 줄은 프롬프트를 설정 합니다 .

마지막 명령의 반환 값을 추가하려면 해당 줄에 다음을 추가하십시오.

`echo -n $?`

예를 들어 다음과 같습니다 (현재 프롬프트가 단순화 됨).

PS1='\u in \w (`echo -n $?`)\n -> \$ '

_커서로 다음 과 같이 보입니다 .

danielbeck in ~ (0)
 -> $ _

또는 환경 변수 PROMPT_COMMAND를 사용 하여 프롬프트에 리턴 코드를 추가 할 수 있습니다 .

export PROMPT_COMMAND='RET=$?; echo -n "($RET) "'

예를 들어 (0)수정되지 않은 프롬프트 바로 앞에 추가 됩니다.


\#프롬프트 에 추가하여 "카운터"를 얻습니다 . 명령 번호 입니다. 더 유용한 히스토리 번호 는 1부터 시작하지 않지만 느낌표와 명령의 히스토리 번호를 입력하여 명령을 실행할 수 있습니다.

984 $ foo
-bash: foo: command not found
985 $ !984
foo
-bash: foo: command not found
986 $ _

몇 가지 추가 연주 후 :

PS1='`RET=$?; if [ $RET != 0 ] ; then echo "rc $?"; fi`\n\u in `pwd`\n#\# !\! \$ '

이것은 0이 아닌 경우 자체 줄에 반환 값만 표시합니다. 명령 번호와 내역 번호는 입력하려는 명령과 같은 줄에 있습니다.

danielbeck in /Users/danielbeck/Downloads
#1 !984 $ foo
-bash: foo: command not found
rc 127
danielbeck in /Users/danielbeck
#2 !985 $ _

5

변수 $?에는 마지막 실행 프로그램의 종료 코드가 포함됩니다.

ninth:~ sakkaku$ echo Hello World
Hello World
ninth:~ sakkaku$ echo $?
0
ninth:~ sakkaku$ cat asdasd
cat: asdasd: No such file or directory
ninth:~ sakkaku$ echo $?
1

증분기를 사용하여 "실행 된 명령 수"를 얻을 수 있다고 생각합니다.

ninth:~ sakkaku$ echo $[numcommands++]
0
ninth:~ sakkaku$ echo $[numcommands++]
1
ninth:~ sakkaku$ echo $[numcommands++]
2
ninth:~ sakkaku$ echo $[numcommands++]
3

그런 다음 프롬프트를 변경하려면 .bashrc에서 PS1 / PS2 변수를 수정해야합니다. 이것은 괜찮은 가이드처럼 보입니다 (/ etc / bashrc 수정을 권장하는 것을 제외하고 ~ / .bashrc 만 수행합니다).


1
고마워, 나중에 내 컴퓨터에있을 때 시도하고 어떻게 진행되는지 볼 것이다.
Eran

1

참고로 zsh를 사용하면 훨씬 쉽습니다. 이 구문 : %(?..%F{red}%?%f)의미는 마지막 명령 오류 수준이 0이 아닌 경우 빨간색으로 표시되지만 정상이면 아무것도 표시하지 않습니다. 구성 %(1j.[%j].)수단은 현재 백그라운드 작업 수를 대괄호로 표시합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.