我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在Linux中自定义bash命令提示符

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在Linux中自定义bash命令提示符

前言

众所周知, bash (the B ourne- A gain Sh ell)是目前绝大多数 linux 发行版使用的默认 shell。本文将会介绍如何通过添加颜色和样式来自定义 bash 命令提示符的显示。尽管很多插件或工具都可以很轻易地满足这一需求,但我们也可以不使用插件和工具,自己手动自定义一些基本的显示方式,例如添加或者修改某些元素、更改前景色、更改背景色等等。

在 Linux 中自定义 bash 命令提示符

在 bash 中,我们可以通过更改 $PS1 环境变量的值来自定义 bash 命令提示符。

一般情况下,bash 命令提示符会是以下这样的形式:


在上图这种默认显示形式当中,“sk” 是我的用户名,而 “ubuntuserver” 是我的主机名。

只要插入一些以反斜杠开头的特殊转义字符串,就可以按照你的喜好修改命令提示符了。下面我来举几个例子。

在开始之前,我强烈建议你预先备份 ~/.bashrc 文件。


$ cp ~/.bashrc ~/.bashrc.bak

更改 bash 命令提示符中的 username@hostname 部分

如上所示,bash 命令提示符一般都带有 “username@hostname” 部分,这个部分是可以修改的。

只需要编辑 ~/.bashrc 文件:


$ vi ~/.bashrc

在文件的最后添加一行:


PS1="ostechnix> "

将上面的 “ostechnix” 替换为任意一个你想使用的单词,然后按 ESC 并输入 :wq 保存、退出文件。

执行以下命令使刚才的修改生效:


$ source ~/.bashrc

你就可以看见 bash 命令提示符中出现刚才添加的 “ostechnix” 了。


再来看看另一个例子,比如将 “username@hostname” 替换为 “Hello@welcome>”。

同样是像刚才那样修改 ~/.bashrc 文件。


export PS1=Hello@welcome> 

然后执行 source ~/.bashrc 让修改结果立即生效。

以下是我在 Ubuntu 18.04 LTS 上修改后的效果。


仅显示用户名

如果需要仅显示用户名,只需要在 ~/.bashrc 文件中加入以下这一行。


export PS1="\u "

这里的 \u 就是一个转义字符串。

下面提供了一些可以添加到 $PS1 环境变量中的用以改变 bash 命令提示符样式的转义字符串。每次修改之后,都需要执行 source ~/.bashrc 命令才能立即生效。

显示用户名和主机名


export PS1="\u\h "

命令提示符会这样显示:


skubuntuserver

显示用户名和完全限定域名


export PS1="\u\H "

在用户名和主机名之间显示其它字符

如果你还需要在用户名和主机名之间显示其它字符(例如 @ ),可以使用以下格式ZBrYVRPT:


export PS1="\u@\h "

命令提示符会这样显示:


sk@ubuntuserver

显示用户名、主机名,并在末尾添加 $ 符号


export PS1="\u@\h\\$ "

综合以上两种显示方式


export PS1="\u@\h> "

命令提示符最终会这样显示:


sk@ubuntuserver>

相似地,还可以添加其它特殊字符,例如冒号、分号、星号、下划线、空格等等。

显示用户名、主机名、shell 名称


export PS1="\u@\h>\s "

显示用户名、主机名、shell 名称以及 shell 版本


export PS1="\u@\h>\s\v "

bash 命令提示符显示样式:


显示用户名、主机名、当前目录


export PS1="\u@\h\w "

如果当前目录是 $HOME ,会以一个波浪线( ~ )显示。

在 bash 命令提示符中显示日期

除了用户名和主机名,如果还想在 bash 命令提示符中显示日期,可以在 ~/.bashrc 文件中添加以下内容:


export PS1="\u@\h>\d "

在 bash 命令提示符中显示日期及 12 小时制时间


export PS1="\u@\h>\d\@ "

显示日期及 hh:mm:ss 格式时间


export PS1="\u@\h>\d\T "

显示日期及 24 小时制时间


export PS1="\u@\h>\d\A "

显示日期及 24 小时制 hh:mm:ss 格式时间


export PS1="\u@\h>\d\t "

以上是一些常见的可以改变 bash 命令提示符的转义字符串。除此以外的其它转义字符串,可以在 bash 的 man 手册 PROMPTING 章节中查阅。

你也可以随时执行以下命令查看当前的命令提示符样式。


$ echo $PS1

在 bash 命令提示符中去掉 username@hostname 部分

如果我不想做任何调整,直接把 username@hostname 部分整个去掉可以吗?答案是肯定的。

如果你是一个技术方面的博主,你有可能会需要在网站或者博客中上传自己的 Linux 终端截图。或许你的用户名和主机名太拉风、太另类,不想让别人看到,在这种情况下,你就需要隐藏命令提示符中的 “username@hostname” 部分。

如果你不想暴露自己的用户名和主机名,只需要按照以下步骤操作。

编辑 ~/.bashrc 文件:


$ vi ~/.bashrc

在文件末尾添加这一行:


PS1="\W> "

输入 :wq 保存并关闭文件。

执行以下命令让修改立即生效。


$ source ~/.bashrc

现在看一下你的终端,“username@hostname” 部分已经消失了,只保留了一个 ~> 标记。


如果你想要尽可能简单的操作,又不想弄乱你的 ~/.bashrc 文件,最好的办法就是在系统中创建另一个用户(例如 “user@example”、“admin@demo”)。用带有这样的命令提示符的用户去截图或者录屏,就不需要顾虑自己的用户名或主机名被别人看见了。

警告:在某些情况下,这种做法并不推荐。例如像 zsh 这种 shell 会继承当前 shell 的设置,这个时候可能会出现一些意想不到的问题。这个技巧只用于隐藏命令提示符中的 “username@hostname” 部分,仅此而已,如果把这个技巧挪作他用,也可能会出现异常。

为 bash 命令提示符着色

目前我们也只是变更了 bash 命令提示符中的内容,下面介绍一下如何对命令提示符进行着色。

通过向 ~/.bashrc 文件写入一些配置,可以修改 bash 命令提示符的前景色(也就是文本的颜色)和背景色。

例如,下面这一行配置可以令某些文本的颜色变成红色:


export PS1="\u@\[\e[31m\]\h\[\e[m\] "

添加配置后,执行 source ~/.bashrc 立即生效。

你的 bash 命令提示符就会变成这样:


类似地,可以用这样的配置来改变背景色:


export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "

添加 emoji

大家都喜欢 emoji。还可以按照以下配置把 emoji 插入到命令提示符中。


PS1="\W

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在Linux中自定义bash命令提示符

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在Linux中自定义bash命令提示符

前言 众所周知, bash (the B ourne- A gain Sh ell)是目前绝大多数 linux 发行版使用的默认 shell。本文将会介绍如何通过添加颜色和样式来自定义 bash 命令提示符的显示。尽管很多插件或工具都可以很
2022-06-04

在Linux上如何自定义bash命令提示符

这篇文章给大家分享的是有关在Linux上如何自定义bash命令提示符的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Linux 中自定义 bash 命令提示符在 bash 中,我们可以通过更改 $PS1 环境变
2023-06-16

Linux Bash 提示符的一些骚操作(自定义 Bash 提示符)

一些能让你自定义 Bash 提示符的黑科技 当你在 Linux 环境下打开一个 Shell 终端时,会看到命令行中出现了类似下面的一个 Bash 提示符:[user@$host ~]$你知道命令行提示符其实是可以自己设置添加许多非常有用的信
2022-06-04

linux中如何定义自己的命令

这篇文章主要介绍linux中如何定义自己的命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!学习如何创建别名:你可以将太长或难以记忆的命令打包成你自己构建的命令。命令别名Alias在 Linux shell 中指的是
2023-06-16

怎么在Linux中配置命令提示符显示格式

今天就跟大家聊聊有关怎么在Linux中配置命令提示符显示格式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。配置:export PS1=[\u@\h $PWD]\$ 显示出来的结果就是
2023-06-09

win10自动修复命令提示符如何使用

本篇内容主要讲解“win10自动修复命令提示符如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win10自动修复命令提示符如何使用”吧!win10自动修复命令提示符使用方法:1、按下“Wi
2023-07-01

如何在php中定义错误提示

本篇文章给大家分享的是有关如何在php中定义错误提示,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php怎么自定义错误提示?PHP set_error_handler():自定
2023-06-15

如何在linux中定期执行命令

如何在linux中定期执行命令?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.cron,crontab以及anacron的关系cron是大多数linux发行版都自带的守护
2023-06-09

linux中的cp命令如何设置不提示

本篇内容主要讲解“linux中的cp命令如何设置不提示”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中的cp命令如何设置不提示”吧!linux中设置cp命令不提示方法:1、修改“~/.
2023-06-30

Win10系统中命令提示符出现字符乱码如何解决

本篇文章给大家分享的是有关Win10系统中命令提示符出现字符乱码如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。解决步骤如下:1.打开控制面板,选择“更改日期、时间或数字
2023-06-10

如何在Linux中的特定时间运行命令

有一天,我使用 rsync 将大文件传输到局域网上的另一个系统。由于它是非常大的文件,大约需要 20 分钟才能完成。我不想再等了,我也不想按 CTRL+C 来终止这个过程。我只是想知道在 linux 操作系统中是
2022-06-04

linux如何在history命令中前面显示日期

这篇文章将为大家详细讲解有关linux如何在history命令中前面显示日期,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux系统中想要在history前面显示日期,该怎么设置呢?我们可以在用户的.
2023-06-10

如何通过Vista系统自带命令提示符结束恶意进程

如何通过Vista系统自带命令提示符结束恶意进程,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。当前有很多病毒,都通过注入到系统进程的方式,来达到隐藏方式,它们一
2023-06-14

如何在vue中使用过滤器和自定义指令

本篇文章给大家分享的是有关如何在vue中使用过滤器和自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。过滤器过滤器可以对我们传入的数据进行必要的处理,并返回处理的结果过滤
2023-06-15

编程热搜

目录