当我在 Ubuntu 终端中更改目录时,会显示该目录的完整路径。如何更改它以便仅显示我正在工作的当前目录?
用户名@计算机:目录$这就是我想要的样子。我在其他地方发现我应该编辑 .bashrc 文件中的变量 PS1,但我不知道要编辑什么。
答案1
更改\w
为\W
您的$PS1
.
所以,你的~/.bashrc
应该包含类似的内容:
PS1='[\e]0;\u@\h: \W\a]${debian_chroot:+($debian_chroot)}\u@\h:\W\$'
请参阅man bash
部分PROMPTING
,了解 bash 支持的所有转义序列及其含义的列表。
答案2
将环境变量的最后一个更改\w
为\W
of 。PS1
从man bash
:
\w :当前工作目录,其中 $HOME 用波浪号缩写(使用 PROMPT_DIRTRIM 变量的值)
\W :当前工作目录的基本名称,$HOME 缩写为波浪号
所以你需要:
PS1='[\e]0;\u@\h: \w\a]${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
在 中~/.bashrc
,有这样的片段:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
您基本上可以将\w
s 更改为\W
s,或者您可以有选择地更改以满足您的需求。否则,您可以将所需的PS1
值放在文件末尾~/.bashrc
以覆盖所有值。当登录 shell~/.profile
源启动时,~/.bashrc
它将在所有登录和非登录交互式会话中可用。
如果您想让它适用于所有用户,您应该查看并从各个文件中/etc/bash.bashrc
删除相关片段。PS1
~/.bashrc