如何让bash的目录路径显示在终端右侧
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 214
- 注册时间: 2017-08-19 10:12
- 系统: linux
如何让bash的目录路径显示在终端右侧
zsh可以 不知道bash怎么设置
- astolia
- 论坛版主
- 帖子: 6444
- 注册时间: 2008-09-18 13:11
Re: 如何让bash的目录路径显示在终端右侧
bash没有RPS1这种东西,没法做
-
- 帖子: 214
- 注册时间: 2017-08-19 10:12
- 系统: linux
- astolia
- 论坛版主
- 帖子: 6444
- 注册时间: 2008-09-18 13:11
Re: 如何让bash的目录路径显示在终端右侧
又想了一下,理论上可以通过设置PROMPT_COMMAND,在自定义函数中获取当前终端宽度,然后根据终端宽度和当前目录显示长度,算出需要的空格数量,再去设置PS1的值。很麻烦,效果也不见得好到哪里去。差不多就像这样
前面的空格数量就是你要自己算的
代码: 全选
PS1=' \W\r$ '
- oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: 如何让bash的目录路径显示在终端右侧
试试:
代码: 全选
rightprompt()
{
printf "%*s" $COLUMNS $(pwd)
}
export PS1='\[$(tput sc; rightprompt; tput rc)\]left prompt > '
-
- 帖子: 214
- 注册时间: 2017-08-19 10:12
- 系统: linux
- oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: 如何让bash的目录路径显示在终端右侧
代码: 全选
rightprompt()
{
printf "%*s" $COLUMNS $(pwd)
}
export PS1='\[$(tput sc; rightprompt; tput rc)\]\u@\h: '
-
- 帖子: 214
- 注册时间: 2017-08-19 10:12
- 系统: linux
- oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: 如何让bash的目录路径显示在终端右侧
代码: 全选
rightprompt()
{
printf "%*s" $COLUMNS $(pwd)
}
export PS1='\[$(tput sc; rightprompt; tput rc)\]> '
-
- 帖子: 214
- 注册时间: 2017-08-19 10:12
- 系统: linux
- astolia
- 论坛版主
- 帖子: 6444
- 注册时间: 2008-09-18 13:11
Re: 如何让bash的目录路径显示在终端右侧
一个简单的做法是用sed替换
但这类利用回车的做法和zsh的RPS1差别还是还是很多的,比如你输入时按退格就没了,窗口宽度改变的时候也不能重排版,一行输入长了和zsh的行为也差很多
代码: 全选
rightprompt()
{
printf "%*s" $COLUMNS $(pwd | sed 's:^'$HOME'$:~:;s:^'$HOME'/:~/:')
}
export PS1='\[$(tput sc; rightprompt; tput rc)\]> '
- oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
Re: 如何让bash的目录路径显示在终端右侧
,我居然忘记了 sed
-
- 帖子: 214
- 注册时间: 2017-08-19 10:12
- 系统: linux