这有点像是一个表面问题(而且微不足道),但我想它可能对其他人有用。我一直在尝试使用 ~/.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
它们呢?