相关疑难解决方法(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万
查看次数

在ansi-term中使用ssh时,Shell会提示重复

当我使用SSH从emacs中的ansi-term会话登录到Ubuntu 12.04计算机时,提示显示错误:

0;ubuntu@jumplin: ~ubuntu@jumplin:~$
Run Code Online (Sandbox Code Playgroud)

这应该如下所示:

ubuntu@jumplin:~$
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些关于utf-8和颜色支持的建议,但它们似乎没有工作(颜色目前在ansi-term中工作正常):

emacs中ansi-term中的奇怪字符

我认为它可能与不受支持的ansi转义代码或类似的东西有关,但我不确定 - 此终端会话的PS1的值是:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)

任何建议都会非常感激:)当终端会话中出现奇怪的角色时,我似乎总是有点失落.

emacs ansi-term

5
推荐指数
1
解决办法
1053
查看次数

标签 统计

ansi-term ×1

bash ×1

emacs ×1

path ×1

ps1 ×1

string ×1