• 售前

  • 售后

热门帖子
入门百科

如安在Linux中自界说bash下令提示符

[复制链接]
木子李皓 显示全部楼层 发表于 2021-10-25 20:11:57 |阅读模式 打印 上一主题 下一主题
媒介
众所周知, bash (the B ourne- A gain Sh ell)是如今绝大多数 Linux 发行版利用的默认 shell。本文将会介绍怎样通过添加颜色和样式来自界说 bash 命令提示符的表现。尽管许多插件或工具都可以很容易地满足这一需求,但我们也可以不利用插件和工具,本身手动自界说一些根本的表现方式,例如添加或者修改某些元素、更改远景色、更改背景色等等。
在 Linux 中自界说 bash 命令提示符

在 bash 中,我们可以通过更改 $PS1 环境变量的值来自界说 bash 命令提示符。
一样平常环境下,bash 命令提示符会是以下如许的情势:


在上图这种默认表现情势当中,“sk” 是我的用户名,而 “ubuntuserver” 是我的主机名。
只要插入一些以反斜杠开头的特殊转义字符串,就可以按照你的喜好修改命令提示符了。下面我来举几个例子。
在开始之前,我剧烈建议你预先备份 ~/.bashrc 文件。
  1. $ cp ~/.bashrc ~/.bashrc.bak
复制代码
更改 bash 命令提示符中的 username@hostname 部分

如上所示,bash 命令提示符一样平常都带有 “username@hostname” 部分,这个部分是可以修改的。
只须要编辑 ~/.bashrc 文件:
  1. $ vi ~/.bashrc
复制代码
在文件的末了添加一行:
  1. PS1="ostechnix> "
复制代码
将上面的 “ostechnix” 更换为任意一个你想利用的单词,然后按 ESC 并输入 :wq 生存、退出文件。
实验以下命令使刚才的修改收效:
  1. $ source ~/.bashrc
复制代码
你就可以看见 bash 命令提示符中出现刚才添加的 “ostechnix” 了。


再来看看另一个例子,好比将 “username@hostname” 更换为 “Hello@welcome>”。
同样是像刚才那样修改 ~/.bashrc 文件。
  1. export PS1=Hello@welcome>
复制代码
然后实验 source ~/.bashrc 让修改结果立刻收效。
以下是我在 Ubuntu 18.04 LTS 上修改后的结果。


仅表现用户名

假如须要仅表现用户名,只须要在 ~/.bashrc 文件中加入以下这一行。
  1. export PS1="\u "
复制代码
这里的 \u 就是一个转义字符串。
下面提供了一些可以添加到 $PS1 环境变量中的用以改变 bash 命令提示符样式的转义字符串。每次修改之后,都须要实验
  1. source ~/.bashrc
复制代码
命令才气立刻收效。
表现用户名和主机名
  1. export PS1="\u\h "
复制代码
命令提示符会如许表现:
  1. skubuntuserver
复制代码
表现用户名和完全限定域名
  1. export PS1="\u\H "
复制代码
在用户名和主机名之间表现别的字符

假如你还须要在用户名和主机名之间表现别的字符(例如 @ ),可以利用以下格式:
  1. export PS1="\u@\h "
复制代码
命令提示符会如许表现:
  1. sk@ubuntuserver
复制代码
表现用户名、主机名,并在末尾添加 $ 符号
  1. export PS1="\u@\h\\$ "
复制代码
综合以上两种表现方式
  1. export PS1="\u@\h> "
复制代码
命令提示符最终会如许表现:
  1. sk@ubuntuserver>
复制代码
相似地,还可以添加别的特殊字符,例如冒号、分号、星号、下划线、空格等等。
表现用户名、主机名、shell 名称
  1. export PS1="\u@\h>\s "
复制代码
表现用户名、主机名、shell 名称以及 shell 版本
  1. export PS1="\u@\h>\s\v "
复制代码
bash 命令提示符表现样式:


表现用户名、主机名、当前目次
  1. export PS1="\u@\h\w "
复制代码
假如当前目次是 $HOME ,会以一个波浪线( ~ )表现。
在 bash 命令提示符中表现日期

除了用户名和主机名,假如还想在 bash 命令提示符中表现日期,可以在 ~/.bashrc 文件中添加以下内容:
  1. export PS1="\u@\h>\d "
复制代码

在 bash 命令提示符中表现日期及 12 小时制时间
  1. export PS1="\u@\h>\d\@ "
复制代码
表现日期及 hh:mm:ss 格式时间
  1. export PS1="\u@\h>\d\T "
复制代码
表现日期及 24 小时制时间
  1. export PS1="\u@\h>\d\A "
复制代码
表现日期及 24 小时制 hh:mm:ss 格式时间
  1. export PS1="\u@\h>\d\t "
复制代码
以上是一些常见的可以改变 bash 命令提示符的转义字符串。除此以外的别的转义字符串,可以在 bash 的 man 手册 PROMPTING 章节中查阅。
你也可以随时实验以下命令检察当前的命令提示符样式。
  1. $ echo $PS1
复制代码
在 bash 命令提示符中去掉 username@hostname 部分

假如我不想做任何调解,直接把 username@hostname 部分整个去掉可以吗?答案是肯定的。
假如你是一个技能方面的博主,你有可能会须要在网站或者博客中上传本身的 Linux 终端截图。大概你的用户名和主机名太拉风、太另类,不想让别人看到,在这种环境下,你就须要隐藏命令提示符中的 “username@hostname” 部分。
假如你不想袒露本身的用户名和主机名,只须要按照以下步骤操纵。
编辑 ~/.bashrc 文件:
  1. $ vi ~/.bashrc
复制代码
在文件末尾添加这一行:
  1. PS1="\W> "
复制代码
输入 :wq 生存并关闭文件。
实验以下命令让修改立刻收效。
  1. $ source ~/.bashrc
复制代码
如今看一下你的终端,“username@hostname” 部分已经消散了,只生存了一个 ~> 标记。


假如你想要尽可能简朴的操纵,又不想弄乱你的 ~/.bashrc 文件,最好的办法就是在系统中创建另一个用户(例如 “user@example”、“admin@demo”)。用带有如许的命令提示符的用户去截图或者录屏,就不须要顾虑本身的用户名或主机名被别人看见了。
告诫:在某些环境下,这种做法并不推荐。例如像 zsh 这种 shell 会继承当前 shell 的设置,这个时间可能会出现一些意想不到的题目。这个本事只用于隐藏命令提示符中的 “username@hostname” 部分,仅此而已,假如把这个本事挪作他用,也可能会出现非常。
为 bash 命令提示符着色

如今我们也只是变动了 bash 命令提示符中的内容,下面介绍一下怎样对命令提示符进行着色。
通过向 ~/.bashrc 文件写入一些设置,可以修改 bash 命令提示符的远景色(也就是文本的颜色)和背景色。
例如,下面这一行设置可以令某些文本的颜色酿成红色:
  1. export PS1="\u@\[\e[31m\]\h\[\e[m\] "
复制代码
添加设置后,实验 source ~/.bashrc 立刻收效。
你的 bash 命令提示符就会酿成如许:


类似地,可以用如许的设置来改变背景色:
  1. export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "
复制代码

添加 emoji

大家都喜好 emoji。还可以按照以下设置把 emoji 插入到命令提示符中。
  1. PS1="\W
复制代码
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有肯定的参考学习价值,假如有疑问大家可以留言交换,谢谢大家对脚本之家的支持。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作