다른 초기 BASH 프롬프트

다른 초기 BASH 프롬프트

이것은 다소 외관상 (그리고 사소한) 질문이지만 나 자신뿐만 아니라 다른 사람들에게도 유용할 수 있다고 생각합니다. 나는 ~/.bashrc에서 $PS1 변수를 가지고 놀았고, 첫 번째 프롬프트를 다른 모든 프롬프트와 약간 다르게 만들 수 있는 방법이 있는지 궁금했습니다. 좀 더 구체적으로 말하면 지금까지 다음과 같습니다.

PS1='\n\[\e[0;37m\][\[\e[0;35m\]\t\[\e[0;37m\]] \[\e[0;36m\]\u@\h \[\e[0;37m\][\[\e[1;34m\]\W\[\e[0;37m\]] \[\e[0;36m\]\$ \[\e[0m\]'

하지만 처음에 개행 문자가 첫 번째 프롬프트에 표시되는 것을 원하지 않습니다(그리고 첫 번째 프롬프트에 더 많은 정보 등이 포함되도록 이를 확장할 수 있습니다). 차이점이 있다면 gnome-terminal을 사용하고 있습니다.

이것이 가능합니까? 그렇다면 어떻게?

답변1

이를 수행하는 한 가지 방법은 bash의 PROMPT_COMMAND를 사용하는 것입니다. 예를 들어 ~/.bashrc에 다음을 넣을 수 있습니다(또는 실험하는 동안 명령줄에서 실행할 수 있습니다).

set_ps()
{
    if [ -z "$PSFLAG" ]
    then
        # Set first prompt
        PS1='first prompt: '
        PSFLAG=1
    else
        # Set other prompt
        PS1='other prompt: '
    fi
}
PROMPT_COMMAND=set_ps

답변2

첫 번째 프롬프트 이전에 일부 문자가 출력되고 다시는 출력되지 않도록 하려면 그냥 .bashrc출력하도록 하면 어떨까요?

관련 정보