相关疑难解决方法(0)

如何缩短命令行提示符的当前目录?

我正在使用Ubuntu,当我使用一些深层目录层次结构时,我厌倦了bash中的这个长提示.所以,我想通过以下方式调整我的PS1来缩短工作目录部分:

目前我有:

pajton@dragon:~/workspace/projects/project1/folder1/test$
Run Code Online (Sandbox Code Playgroud)

并希望:

pajton@dragon:~/workspace/.../folder1/test$
Run Code Online (Sandbox Code Playgroud)

如果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
Run Code Online (Sandbox Code Playgroud)

结果如下:

pajton@dragon:...sth/folder1/sample$ 
Run Code Online (Sandbox Code Playgroud)

提前致谢!

string bash path ps1

52
推荐指数
4
解决办法
3万
查看次数

自定义Git回购的CSH提示

当我在Git存储库中时,我想有一个自定义CSH提示。如果我不在git repo中,我希望提示符看起来像这样

host_name>$ 
Run Code Online (Sandbox Code Playgroud)

但是当我进入Git仓库时,必须变成这样

host_name [GIT REPO ROOT DIR]>$ 
Run Code Online (Sandbox Code Playgroud)

我只想显示Git存储库的根目录(GIT REPO ROOT DIR),以便知道当前所在的存储库。而不是每次都使用“ pwd”。

你们对实现这一目标有任何建议吗?谢谢您的帮助

-阿尼什

git csh prompt

2
推荐指数
1
解决办法
3950
查看次数

标签 统计

bash ×1

csh ×1

git ×1

path ×1

prompt ×1

ps1 ×1

string ×1