在 Bash 中隐藏路径以简化提示符

在 Bash 中,可以通过以下方法隐藏路径或调整提示符以简化显示,并保持高亮效果:


方法一:自定义 PS1(Prompt String 1)

PS1 是 Bash 的提示符变量,你可以通过设置它来定制显示内容。例如:

1
export PS1='\u@\h:~\$ '
  • \u:显示用户名。
  • \h:显示主机名。
  • ~:始终显示为 ~,而不是完整路径。

此时,提示符将变成类似这样:

1
user@localhost:~$

如果希望添加高亮效果,可以加入颜色代码:

1
export PS1='\[\033[1;32m\]\u@\h:\[\033[1;34m\]~\[\033[0m\]\$ '
  • \[\033[1;32m\]:设置绿色高亮(用户名和主机名)。
  • \[\033[1;34m\]:设置蓝色高亮(路径)。
  • \[\033[0m\]:重置颜色,避免影响后续输出。

方法二:显示相对路径

让路径只显示相对于主目录的内容:

1
export PS1='\u@\h:\w\$ '
  • \w:显示当前路径,但用 ~ 替代主目录路径。

例如:

1
user@localhost:~/log$

如果希望保持高亮,可以使用以下代码:

1
export PS1='\[\033[1;32m\]\u@\h:\[\033[1;34m\]\w\[\033[0m\]\$ '

方法三:完全隐藏路径

如果你想完全隐藏路径,只显示用户名和主机名:

1
export PS1='\u@\h\$ '

例如:

1
user@localhost$

为恢复高亮,可以这样设置:

1
export PS1='\[\033[1;32m\]\u@\h\[\033[0m\]\$ '

方法四:设置为简短路径

如果你只想显示目录名,可以使用:

1
export PS1='\u@\h:\W\$ '
  • \W:仅显示当前目录名。

例如:

1
user@localhost:stress$

为添加高亮:

1
export PS1='\[\033[1;32m\]\u@\h:\[\033[1;34m\]\W\[\033[0m\]\$ '

方法五:使用系统默认高亮提示符

如果不想手动设置颜色,可以使用系统默认提示符样式:

1
export PS1='\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '

持久化配置

如果需要每次启动 Bash 都应用设置,可以将上述命令加入 ~/.bashrc 文件:

1
2
echo "export PS1='\[\033[1;32m\]\u@\h:\[\033[1;34m\]\W\[\033[0m\]\$ '" >> ~/.bashrc
source ~/.bashrc

测试终端颜色支持

确保你的终端支持 ANSI 转义序列(大多数现代终端都支持,例如 GNOME Terminal、Konsole 等)。

测试颜色支持的命令:

1
echo -e "\033[1;32m绿色高亮\033[0m 和 \033[1;34m蓝色高亮\033[0m"