Mac 修改命令行前缀显示

最近的项目终于不是那么忙了,得空整理整理散落在不同地方的零碎笔记了,但是时间也很零碎,先从容易整理的小笔记开始。

首先当然是这个每逢换电脑都要进行的操作,公司的电脑一般都有很多局限性,设定好不能修改的admin账号,这样命令行通常能暴露很多信息,平时工作当然没啥,但是写笔记要截图就有个问题,很容易暴露自己的姓名,总感觉怪怪的,于是想把命令行显示的主机名和用户名替换掉,研究了下发现果然还是有很多人有这样的需求的,操作起来也很简单。也算一个小tip吧。

这里我们主要用到的就是shell 下的 PS1环境变量了,这可是一个很基础但是也很重要的的环境变量,PS1全称Prompt String 1,有1当然有2..., 但是我们这里专注在PS1上,一般来说我们登陆bash之后,会看到命令行有个前缀表明主机名用户名等信息,这就是前缀,可以通过PS1这个环境变量来进行修改,当然PS1定制化的内容不仅仅这些,还有增加颜色等,这里我们用修改前缀来看看PS1是怎么被修改的。

首先需要找到PS1在哪里被定义的,如果你没有更改过Mac的配置,一般可以在/etc/bachrc中找到它。这里这个文件需要sudo获取临时的root权限去修改她,我们可以使用如下命令:

sudo vi /etc/bashrc

会看到如下的PS1设置

bashrc 文件

这里可能需要我们了解一些不同的参数的含义:

\h: host,主机名称,这里是简写的主机名
\W:显示当前所在目录,但是是目录的最后一程,不是完整路径
\u:显示当前的用户名
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

基于隐私问题,这里就不贴我修改前是什么样的了,但是我们可以看看一个样例:

主机名:xiaoming
目录:/usr/Downloads/test
用户名:mxiao

那么当我们打开terminal后看到的是

xiaoming:test mxiao$

搞清楚这些之后我们可以开始修改我们terminal的前缀了,这里我们的关注点主要是不想显示主机名和用户名,所以可以用纯字符代替,因此做了如下图所示的修改(当然这是一个不好的做法,因为写死了用户名,这样切换到不同的用户的时候就无法通过前缀感知了,但是平时要截图的时候切换用户比较少,所以这个还可以接受:

修改后的PS1

修改好之后:wq! 保存退出。

重新启动terminal或者运行source /etc/bashrc,定制化的terminal前缀就设置好了,这下可以愉快地玩耍了。

因为这是为了截图懒得打码才会使用,因此又小小的做了一个修改,可以切换使用真实的信息和写死的信息,如下:

来两个alias

这样正常工作还是可以得到正常的信息,当需要记录的时候可以方便的切换。

最后一些小note和可以了解的其他PS1参数

note:
1.修改PS1最后记得留一个空格,不然使用命令行的时候体验不好

其他一些参数:

\d: 显示曰期,格式为"星期 月 日"。
\H: 显示完整的主机名。如默认主机名"localhost.localdomain"。
\t: 显示 24 小时制时间,格式为"HH:MM:SS"。
\T: 显示 12 小时制时间,格式为"HH:MM:SS"。
\A: 显示 24 小时制时间,格式为"HH:MM"。
\@:显示 12 小时制时间,格式为"HH:MM am/pm"。
\v: Bash版本信息
\w:显示目录完整路径
\#: 执行的第几条命令
\!:     该命令的历史计数信息

[参考文章]:https://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html



作者:Cherishyc
链接:https://www.jianshu.com/p/fa23aa8bc436
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

发布了69 篇原创文章 · 获赞 31 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/yyws2039725/article/details/103655055
今日推荐