MacOS命令行终端隐藏电脑名和用户名的方法

目录

MacOS命令行终端隐藏电脑名和用户名的方法

对于经常在MacOS的命令行终端工作的用户,有一个很头疼的事,那就是命令行终端显示电脑名和用户名,这占据了命令行上的太多空间。

怎样才可以隐藏电脑名和用户名呢?方法很简单!

打开终端偏好设置,然后到如下图的卡片

然后添加如下命令

PS1="\W \$ "; clear;

修改后的卡片如下

然后重新打开命令行终端,就变成如下图一样的简洁了。

另外还有一个方法,是我感觉更纯粹的设置方式:

vim ~/.bash_profile

打开配置文件后,在最后一行下面添加如下代码:

export PS1="[\u@\h \W]\$ "

然后让配置文件立即生效,执行以下命令:

source ~/.bash_profile

说明一下:
\u – 当前用户名
\h – 主机名hostname
\W – 当前目录
\w – 当前目录的完整路径
\d – 现在的系统日期
\t – 现在的系统时间

PS1 是一个很有意思的变量,是用来定义命令行的提示符的,可以按照我们自己的需求来定义自己喜欢的提示符。

PS1 可以支持以下这些选项:

\d:显示曰期,格式为”星期 月 日”。
\H:显示完整的主机名。如默认主机名”localhost.localdomain”。
\h:显示简写的主机名。如默认主机名”localhost”。
\t:显示 24 小时制时间,格式为”HH:MM:SS”。
\T:显示 12 小时制时间,格式为”HH:MM:SS”。
\A:显示 24 小时制时间,格式为”HH:MM”。
@:显示 12 小时制时间,格式为”HH:MM am/pm”。
\u:显示当前用户名。
\v:显示 Bash 的版本信息。
\w:显示当前所在目录的完整名称。
\W:显示当前所在目录的最后一个目录。
#:执行的第几条命令。
$:提示符。如果是 root 用户,则会显示提示符为”#”;如果是普通用户,则会显示提示符为”$”。

这些选项该怎么用呢?我们先看看 PS1 变量的默认值,如下:

[root@localhost ~]# echo $PS1
[\u@\h\W]\$

默认的提示符是显示”[用户名@简写主机名最后所在目录]提示符”

在 PS1 变量中,如果是可以解释的符号,如”\u”、”\h”等,则显示这个符号的作用;如果是不能解释的符号,如”@“或”空格”,则原符号输出。我们修改一下 PS1 变量,看看会出现什么情况。

[root@localhost ~]# PS1='[\u@\t \w]\$'
#修改提示符为'[用户名@当前时间当前所在完整目录]提示符'
[root@04:46:40 ~]#cd /usr/local/src/
#切换到当前所在目录,因为家目录是看不出来区别的
[root@04:47:29 /usr/local/src]#
#看到了吗?提示符按照我们的设计发生了变化

这里要小心,PS1 变量的值要用单引号包含,否则设置不生效。再举个例子:

[root@04:50:08 /usr/local/src]#PS1='[\u@ \@ \h \# \W]\$'
[root@04:53上午 localhost 31 src]#
#提示符又变了。\@:时间格式是HH:MM am/pm;\#:会显示执行了多少条命令

PS1 变量可以自由定制,好像看到了一点 Linux 可以自由定制和修改的影子,还是很有意思的。不过说实话,一个提示符已经使用习惯了,如果换一个还是非常别扭的,还是改回默认的提示符吧,命令如下:

[root@04:53上午 localhost 31 src]#PS1='[\u@\h \W]\$'
[root@localhost src]#

注意,这些提示符的修改同样是临时生效的,一旦注销或重启系统就会消失。要想永久生效,必须写入环境变量配置文件。

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦