這在某種程度上是一個裝飾性的(而且是微不足道的)問題,但我認為它對其他人可能比我更有用。我一直在我的 ~/.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
它們呢?