如何更改 Linux 中的提示?

mon*_*onu 20 bash prompt

默认提示将是

root@monu dev]#
Run Code Online (Sandbox Code Playgroud)

我们可以更改“root@monu”部分并为其命名吗?

pra*_*tri 30

这是通过更改环境变量来改变的PS1

您可以通过以下方式查看当前值PS1

root@monu dev# echo $PS1
Run Code Online (Sandbox Code Playgroud)

您可以看到该值等于\u@\h \w\$,其中:

  • \u : 用户名
  • \h : 主机名
  • \w : 当前工作目录
  • \$: #root 用户的$符号,其他用户的符号

如果您希望更改是永久性的,则必须添加更改PS1in值的脚本~/.bashrc,因为它会在每次用户登录时执行。

  • ~/.bashrc _不_在每次用户登录时执行。“当启动非登录 shell 的交互式 shell 时,bash 会从 ~/.bashrc 读取并执行命令,如果该文件存在。” – 人 bash /INVOCATION (5认同)

Sar*_*use 5

这取决于你的外壳。 作为一个重要的旁注,您永远不应该将 root 帐户用作个人帐户。创建一个普通用户并设置对 sudo 的访问。请检查您的分发手册以了解如何执行此操作。

在 zsh 中,您需要像这样设置 PROMPT 变量:

PROMPT='%{ESC[38;5;24m%};%{ESC[0m%} '
Run Code Online (Sandbox Code Playgroud)

zshell 提供了许多其他 选项,这确实是一个最小的提示。

在 bash 中,您可以这样设置:

local ROOK="\[\033[38;5;24m\]"
local DEFAULT="\[\033[0;39m\]"
PS1="${ROOK}\$${DEFAULT} "
Run Code Online (Sandbox Code Playgroud)

请注意,在这两种情况下,我都有一个支持 256 色的终端。手册页将有很大帮助(man bashman zsh)。

  • 在这里,您正确地说明了 *root 帐户* 案例,IMO - 它不能*用作个人帐户*(除非在一些占用空间非常小的嵌入式系统上)。 (2认同)