为什么 bash 在不同版本的 linux/unix 中看起来不同?

发布于 2024-12-01 07:16:15 字数 1459 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怪异←思 2024-12-08 07:16:15

这是一个品味问题:每个人都可以使用环境变量 PS1 配置他的 PROMPT 行。

例如:

PS1='\u@\h:\w

给出

user@host:directory$

,而目录是您的主目录的“~”。

给出

,而目录是您的主目录的“~”。

It's a question of taste: everyone can configure his PROMPT-line with the env-variable PS1.

For example:

PS1='\u@\h:\w

gives

user@host:directory$

whereas directory is '~' for your home-dir.

gives

whereas directory is '~' for your home-dir.

自此以后,行同陌路 2024-12-08 07:16:15

看起来是这样的:

glglgl@schleppiSB [1314183327: Wed Aug 24 2011 12:55:27, 9/62261] 
 -0  0  ~/p> 

即使颜色很好。为什么?因为我的 ~/.bashrc 包含 With PS1

PS1='\e[1;32;44m\u\e[1;30m@\e[1;34m\h\e[0m [\e[1;43;33m$(shellprompttemp=$?; LANG=C date +"%s: %a %b %d %Y"; exit $shellprompttemp)\e[1;37m \t\e[0m, \e[1;35m\#\e[0m/\e[1;36m\!\e[0m] \e[1;31;7m${?/#0}\e[0m\e[0m\n$(hg prompt '\''{\e[41;37mhg: {status}\e[0m\n}'\'' 2>/dev/null; dirs -p -v | tac | awk '\''{ $0=sprintf("%2d %s",NR-1,$0); sub(/^ */,"&-"); print; }'\'')> '

,所以您可以完全控制提示符的外观。您可以通过 man bashPROMPTING 部分获取更多信息。

Here it looks this way:

glglgl@schleppiSB [1314183327: Wed Aug 24 2011 12:55:27, 9/62261] 
 -0  0  ~/p> 

even with nice colors. Why? Because my ~/.bashrc contains the line

PS1='\e[1;32;44m\u\e[1;30m@\e[1;34m\h\e[0m [\e[1;43;33m$(shellprompttemp=$?; LANG=C date +"%s: %a %b %d %Y"; exit $shellprompttemp)\e[1;37m \t\e[0m, \e[1;35m\#\e[0m/\e[1;36m\!\e[0m] \e[1;31;7m${?/#0}\e[0m\e[0m\n$(hg prompt '\''{\e[41;37mhg: {status}\e[0m\n}'\'' 2>/dev/null; dirs -p -v | tac | awk '\''{ $0=sprintf("%2d %s",NR-1,$0); sub(/^ */,"&-"); print; }'\'')> '

With PS1, you have full control over how your prompt looks like. You get more info with man bash, section PROMPTING.

半步萧音过轻尘 2024-12-08 07:16:15

不同的发行版是针对不同的用户群体预先配置的。在桌面上,您主要只是期望看到一个简单的提示,也许还有当前目录;对于服务器发行版,每台服务器上的提示与其他服务器上的提示不同是很有用的,这样您一眼就能看出您登录的位置(管理员通常会同时登录多个服务器) 。但除此之外,这只是一个品味问题,通常是你的发行版的 Bash 维护者的品味。 Bash 中的默认提示符就是 bash$(当您以 root 身份登录时,美元符号将替换为井号)。

Different distros are preconfigured for different user populations. On a desktop, you mainly just expect to see a simple prompt and maybe the current directory; for a server distro, it is useful for the prompt on each server to be different from every other server, so that you can tell at a glance where you are logged into (the admin typically logs into more than one server at the same time). Other than that, though, it's just a matter of taste, typically the taste of the Bash maintainer for your distro. Out of the box, the default prompt in Bash is just bash$ (where the dollar sign is replaced with a hash sign when you are logged in as root).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文