【腾讯云的1001种玩法】自定义 Shell Prompt

在之前的文章里,我们教了大家如何设置 Bash 的提示语,来告知操作人,正在操作的是哪台服务器。但是,很多时候,我们经常要执行非常多的命令,来完成我们的工作,那么在同时操作多个服务器时,依然容易迷失在命令行之中。

今天,我来教你如何自定义我们的 Bash 的提示,来帮助我们认清我们的服务器。

什么是 Shell Prompt

我们的命令行前面会有一个简单的提示,这个提示就是 Shell Prompt 。我们通过自定义 Shell Prompt 可以实现自定义的提示。通过这个提示,就可以提醒用户,你目前操作的是什么服务器。

Shell Prompt 的格式

Shell Prompt 的格式被定义在 $PS1 变量中,你可以通过执行 echo $PS1来拿到当前的提示。比如我的提示就是[\u@\h \W]\$

我们通过修改 $PS1变量,就可以实现修改Shell Prompt 的提示。

Shell Prompt 的含义

在上面的提示中,我们去掉用作区分的标点符号,我们可以提取出来 \u\h\W\$,这些符号都有其特殊的含义,借助它们的特殊含义,我们可以实现我们的需求。

  • \u:展示当前的用户的用户名
  • \h:展示主机名
  • \W:展示当前的目录的目录名
  • \w:展示当前目录的全路径
  • \T:展示24小时制的时间
  • \n:换行符
  • \r:回车符
  • \s:Shell名
  • \$:当是普通用户时,会展示#,如果是 root 用户展示$
  • \H:展示 FQDN 主机名
  • \@:展示 AM/PM 形式的日期。

完整的内容可以查看: Prompt magic - IBM

安全起见下,我们如何选择我们的Shell?

为了实现我们的提醒效果,建议大家在shell中展示全路径、主机名、用户身份,并且注明当前服务器是什么环境,比如。我设置完成后,是这样的。

Production | \u@\h \w \t \n \$

这样一个提示,可以立刻明白我是在操作生产环境,以免我误操作时,没有注意到我使用的是哪个环境。你也可以根据你的需要来设置你的 Shell Prompt 的内容。

给Shell Prompt上个色

有些时候,文字可能无法给我们足够的警示。这时,我们可以选择为我们的 shell Prompt 加个颜色,这样能够更好的展示。

如果想要为我们的shell上色,就要在我们的Shell中加入上色的代码

其中,

  • \e[x;y m 为给后续的文字上色,x,y都是颜色的编号。其中常用的红色为0;31,蓝色0;34,绿色0;32
  • \e[m则为停止上色。

\e[0;31m Production \e[m | \u@\h \w \t \n \$

设置为默认的输出

虽然目前我们设置成功了,但是并没有像我们的提示信息一样存留,重新连接就会消失。

这是,我们需要修改一下配置文件,来加入我们的设置。

我们可以修改 ~/.bashrc~/.bash_profile,再其中添加代码,来实现我们的输出效果.

在这个文件中加入如下代码,即可实现效果。

export PS1 = '\e[0;31m Production \e[m | \u@\h \w \t \n \$'

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏雨过天晴

原 Ngrok编译

2172
来自专栏破晓之歌

vscode-轻量级实用编辑器 原

注:安装好如果不生效的话,需要到“文件 -- 首选项 -- 文件图标主题 -- 选择vscode icons ”

762
来自专栏小狼的世界

Sublime Text 3 提高工作效率的使用技巧

Sublime Text 3对于Sublime Text 2压倒性的优势就是秒启动,启动非常非常快,所以从2012年到2016年我一直用Sublime Text...

1424
来自专栏DeveWork

Sublime text 3 中Package Control 的安装与使用方法

Package Control插件本身是一个为了方便管理插件的插件,在Sublime text 3中,Package Control 的安装方法一开始出来的方法...

1998
来自专栏云计算教程系列

Linux中Alias的常用命令

Alias是一个自定义快捷方式,用于表示一组命令或使用特定选项运行的单个命令。只需要一个字符,我们就可以使用Alias来执行经常使用的进程。

852
来自专栏知识分享

5-学会刷Wi-Fi模块固件(刷LUA版本固件)

http://www.cnblogs.com/yangfengwu/p/9065559.html

583
来自专栏deepcc

Sublime Text 3 入门(插件控制台安装)

34811
来自专栏Jerry的SAP技术分享

Sublime Text插件的离线安装-使用htmlprettify美化您的HTML代码

Sublime Text是广大程序员喜欢的文本编辑器,Jerry觉得它最强大之处在于开放的架构,有丰富的插件为其提供各种各样额外的功能。

624
来自专栏云知识学习

Windows Server 2008 用户管理

”用户”是计算机的使用者在计算机系统中的身份映射,不同的用户身份拥有不同的权限,每个用户包含一个名称和一个密码;

33812
来自专栏深度学习与计算机视觉

Sublime Text 3 汉字乱码解决方法

一般我把Sublime Text当做一个简洁的文本阅读器来用,所以用别的编译器编写的代码在Sublime Text中有时会出现中文乱码的情况,这是因为Subli...

1947

扫码关注云+社区