Shell 提示符定制?

Shell 提示符定制?

我已经在多个系统上使用过 oh_my_zsh(并且调整过 bash_it)并且总体上对它感到满意,尽管我讨厌它的自动更正功能并且通常会将其关闭。

我通常使用的 shell 是 zsh,我真正想要的只是从提示符中得到三样东西:

  1. 当前目录/或密码。
  2. Git 状态和分支。
  3. 来自 ls 的彩色输出(在 ls 命令上,而不是在提示符中)。

其余的只是华而不实的东西,而且常常令人恼火。

通过使用这些 shell 脚本,我为我想要的东西付出了太多的 CPU 周期。

任何建议,无论是使用这些脚本还是作为单独的 shell 脚本。我可以使用 zsh 或 bash。

答案1

的手册页狂欢有一个部分PROMPTING(原文为shouting),我只引用其中的开头部分:

提示符 在交互执行时,bash 在准备好读取命令时显示主提示符 PS1,在需要更多输入来完成命令时显示辅助提示符 PS2。Bash 允许通过插入多个反斜杠转义的特殊字符来定制这些提示符字符串,这些特殊字符的解码方式如下:

          \w     the  current working directory, with $HOME
                 abbreviated with a tilde (uses the value of the
                 PROMPT_DIRTRIM variable)
          \W     the basename of the current working directory,
                 with $HOME abbreviated with a tilde

您可以包含命令的结果 - 因为我对 git 不够了解,所以我使用 $(date +%S) 作为示例:

PS1='\w $(date +%S) > '

我不明白要求 3。这是一个关于如何定义 ls 颜色的请求吗?

啊 - 从 U&L 上的问题来看,我认为你要求的是这样的:

在 ~/.bashrc 中我有一个条目:

# enable color support of ls and also add handy aliases
if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
fi

默认使用 ls 和 --color=auto。

相关内容