设为首页
收藏本站
切换到宽版
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
论坛
BBS
排行榜
Ranklist
搜索
搜索
热搜:
香港vps
香港VPS
amh
机柜
vps
分销
VPS
域名出售
火车头
云主机
不限流量
香港服务器
美国服务器
香港
全能空间
whmcs
digitalocean
本版
帖子
用户
MJJ论坛
»
论坛
›
技术交流分享
›
Web技术
›
Linux Bash 提示符的一些骚操作
返回列表
查看:
1723
|
回复:
1
Linux Bash 提示符的一些骚操作
[复制链接]
土小帽
土小帽
当前离线
积分
4143
发表于 2023-11-3 23:18:46
|
显示全部楼层
|
阅读模式
在 Linux 环境下打开 Shell 终端时,你会看到类似以下内容的 Bash 提示符:[user@。其实,你可以自定义这个命令行提示符,添加许多有用的信息。
要设置 Bash 提示符,可以使用环境变量 PS1(Prompt String 1)。PS1 是用于交互式 shell 提示符的设置。如果你需要更多的输入才能完成一个 Bash 命令,你可以使用 PS2 环境变量来设置多行提示符。
[dneary@dhcp-41-137 ~]$ export PS1="[Linux Rulez]$ "
[Linux Rulez] export PS2="... "
[Linux Rulez] if true; then
... echo "Success!"
... fi
Success!
在哪里设置 PS1 的值?
PS1 就是一个普通的环境变量,系统默认值设置在 /etc/bashrc 中,在我的系统中,默认提示符通过以下命令来设置的:
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
它判断 PS1 是否是系统的默认值 \s-\v,如果是的话则将值设置为。(LCTT 译注:注意命令中用 \ 做了转义。)
但如果你想要自定义提示符,不应该修改 /etc/bashrc ,而是应该在你的主目录下将自定义命令加到 .bashrc 文件中。
上面提到的 \u、\h、\W、\s 和 \v 是什么意思?
在 man bash 中的 PROMPTING 章节中,你能够找到所有 PS1 和 PS2 相关的特殊字符的描述,以下是一些比较常用的:
\u:用户名
\h:短主机名
\W:当前你所在的目录的名称(basename),~ 表示你的主目录
\s:Shell 名字(bash 或者 sh,取决于你的 Shell 的名字是什么)
\v:Shell 的版本号
还有哪些特殊的字符串可以用在提示符当中
除了上面这些,还有很多有用的字符串可以用在提示符当中:
\d:将日期扩展成 “Tue Jun 27” 这种格式
\D{fmt}:允许自定义日期格式——可通过 man strftime 来获得更多信息
\D{%c}:获得本地化的日期和时间
\n:换行(参考下面的多行提示符)
\w:显示当前工作目录的完整路径
\H:当前工作机器的完整主机名
除了以上这些,你还可以在 Bash 的 man 页面的 PROMPTING 部分找到更多的特殊字符和它的用处。
多行提示符
如果你的提示符过长(比如说你想包括 \H 、\w 或完整的日期时间时 ),想将提示符切成两行,可以使用 \n 将提示符切断成两行显示,比如下面的多行的例子会在第一行显示日期、时间和当前工作目录,第二行显示用户名和主机名:
PS1="\D{%c} \w\n[\u@\H]$ "
还能再好玩点吗?
人们偶尔也想将提示符变成彩色的。虽然我觉得彩色提示符让人分心、易怒,但是也许你很喜欢。如果我们想将日期变成红色的,目录变成青蓝色,用户名搞一个黄色背景,你可以这样做:
PS1="\[\e[31m\]\D{%c}\[\e[0m\]
\[\e[36m\]\w\[\e[0m\]\n[\[\e[1;43m\]\u\[\e[0m\]@\H]$ "
\[..\] :表示一些非打印字符
\e[.. :转义字符,后面的跟着的特定的转义字符串在终端中表示颜色或者其他意思
31m :表示红色字体(41m 表示是红色背景)
36m :表示是青蓝色字体 1;
43m :表示黄色字体(1;33m 表示黄色字体)
[\e[0m]] :它在最后将颜色恢复成系统终端默认颜色
你可以在 Bash prompt HOWTO 这里找到更多的颜色代码,甚至可以让字符反相和闪烁!
回复
举报
bugu
bugu
当前离线
积分
3607
发表于 2023-11-4 12:25:53
|
显示全部楼层
学习
回复
举报
还有一些帖子被系统自动隐藏,点此展开
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
美国虚拟主机交流
Offers专区
美国VPS综合讨论
拉美服务器
干货茶馆
Archiver
|
手机版
|
小黑屋
|
MJJ论坛
Copyright
MJJ论坛
© 2022 All Rights Reserved.
快速回复
返回顶部
返回列表