我正在使用 Ubuntu,当我使用一些较深的目录层次结构时,我厌倦了 bash 中的这种长提示。所以,我想通过以下方式调整我的 PS1 以缩短工作目录部分:
目前我有:
pajton@dragon:~/workspace/projects/project1/folder1/test$
并希望拥有:
pajton@dragon:~/workspace/.../folder1/test$
如果 len($PWD) 超过给定阈值,则会发生截断。我想始终保留第一个路径组件和至少一个最后一个路径组件。然后在空间允许的情况下,从右侧添加更多组件。
这就是我目前所拥有的。它有效,但是:1)不保留第一个路径组件,2)不尊重边界处的切割路径:
pwd_length=14
pwd_symbol="..."
newPWD="${PWD/#$HOME/~}"
if [ $(echo -n $newPWD | wc -c | tr -d " ") -gt $pwd_length ]
then
newPWD="...$(echo -n $PWD | sed -e "s/.*\(.\{$pwd_length\}\)/\1/")"
else
newPWD="$(echo -n $PWD)"
fi
结果:
pajton@dragon:...sth/folder1/sample$
提前致谢!