이것은 다소 외관상 (그리고 사소한) 질문이지만 나 자신뿐만 아니라 다른 사람들에게도 유용할 수 있다고 생각합니다. 나는 ~/.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
출력하도록 하면 어떨까요?