在深层文件夹结构中使用终端时,有时提示会占用大部分行。有什么方法可以修剪工作目录吗?我知道我能做到
PS1="\W >"
只打印当前目录而不是完整路径,但有没有办法有类似的东西:
/home/smauel/de...ther/folder >
在深层文件夹结构中使用终端时,有时提示会占用大部分行。有什么方法可以修剪工作目录吗?我知道我能做到
PS1="\W >"
只打印当前目录而不是完整路径,但有没有办法有类似的东西:
/home/smauel/de...ther/folder >
如果您使用的是 bash4(Ubuntu 9.10 和更新版本有 bash4),最简单的选择就是设置 PROMPT_DIRTRIM 变量。例如:
对于类似于 João Pinto 的示例(这将在较旧的 bash 版本中工作并确保路径组件永远不会超过 30 个字符),您可以执行以下操作:
创建一个小的 python 脚本来实现所需的修剪逻辑。
例子:
~/.short.pwd.py
现在从终端测试它:
如果您对结果没问题,只需将命令附加到您的
~/.bashrc
.解决该问题的另一种方法是在 PS1 中包含一个换行符,以便工作目录和实际提示出现在不同的行中,例如:
将此添加到您的底部
~/.bashrc
诚然,这可能更干净,但我想尝试一下。
超过三层深度的目录的预期输出。
来自桌面和返回的目录的预期输出。
基于Cris Sullivan的回答,但保留
~
主文件夹只是为了稍微更新(对于 Python3)并增强所选答案以根据 BASH 提示向提示添加颜色(无论如何在 Linux Mint 18.3 中):
更多关于 BASH 终端中的颜色代码的信息。可能有某种方法可以找出您的终端自动使用的颜色,但我不知道那可能是什么。
使用 shebang 行
export
,包含在 .bashrc 中的行将变为:NB1 这些“\e”转义码必须始终包含在“\[ ... \]”中,否则换行会完全混乱。
NB2 随时获取您的完整路径
当然...
当您运行命令时,@joão-pinto 的出色答案的这个小补充会添加虚拟环境名称。
workon
我最喜欢这个,
PS1="[\W]\\$ "
此提示会缩短除当前行之外的所有名称: