![如何在Shell前缀中仅显示工作目录名称?](https://linux22.com/image/77303/%E5%A6%82%E4%BD%95%E5%9C%A8Shell%E5%89%8D%E7%BC%80%E4%B8%AD%E4%BB%85%E6%98%BE%E7%A4%BA%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E5%90%8D%E7%A7%B0%EF%BC%9F%20.png)
我目前在一家真的长目录。大概是这样的:
~/Documents/c_prog/this_is_a_really_long_project_name/sub_directory/test_case/
sername@hostname ~/test_case$
如果我可以在这个目录中执行一个命令,并且它只会显示 *而不是这面文字墙,那就太棒了。当我重新启动 bash 时,它应该会再次正常。每次在这个目录中时我都可以执行这个命令。
我怎样才能实现这样的目标?
答案1
\w
将正常中的转义序列替换PS1
为\W
.因此,从你的例子来看,它会是这样的:
PS1='\u@\h \W\$ '
答案2
(bash
4 或更高)
如果设置PROMPT_DIRTRIM
为非零数字,它将用 替换后面的目录~
,...
保留给定数量的尾随目录。例如,将其设置为 1 将为您提供
username@hostname ~/.../test_case$