目标:在每个新 bash 提示符前添加一个空行,与上个命令的输出做分隔,同时打开终端的首个 bash 提示符前不添加空行。

user@PC:~$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

user@PC:~$ arch
x86_64

user@PC:~$ _
效果示例

.bashrc 文件中增加以下内容:

function __ps1_newline_login {
  if [[ -z "${PS1_NEWLINE_LOGIN}" ]]; then
    PS1_NEWLINE_LOGIN=true
  else
    printf '\n'
  fi
}

PROMPT_COMMAND='__ps1_newline_login'

说明:

  • PROMPT_COMMAND 是一个特殊的 bash 变量,在每次提示符显示前运行。
  • 需要使用 -z 标识来检查字符串的长度是否为 0。