更改目录名称在 Ubuntu 终端中的显示方式

更改目录名称在 Ubuntu 终端中的显示方式

当我在 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\Wof 。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

您基本上可以将\ws 更改为\Ws,或者您可以有选择地更改以满足您的需求。否则,您可以将所需的PS1值放在文件末尾~/.bashrc以覆盖所有值。当登录 shell~/.profile源启动时,~/.bashrc它将在所有登录和非登录交互式会话中可用。

如果您想让它适用于所有用户,您应该查看并从各个文件中/etc/bash.bashrc删除相关片段。PS1~/.bashrc

相关内容