【发布时间】:2017-09-02 05:44:56
【问题描述】:
上下文
- GNU bash
4.4.12(1)-release - Powerline
2.5.2-1
Powerline 从 Arch linux 包安装,而不是从 pip。
PS1 脚本
update-ps() {
export PS1="$(powerline shell aboveleft)"
export PS2="$(powerline shell left)"
}
export PROMPT_COMMAND="update-ps;$PROMPT_COMMAND"
电力线配置
问题
我和him 有同样的问题,当我写几个字符时,换行,我开始写在同一行,覆盖我已经写的内容(包括 ps1)。
我知道这可能是一个不可打印的字符问题,但这是否意味着它是一个电力线错误?还有什么问题?
【问题讨论】:
-
顺便说一句——POSIX sh 不能保证函数名中允许使用破折号,也不能移植到所有历史 bash 版本;您可能想使用下划线。
-
更多关于这一点 - 你能提供
declare -p PS1和declare -p PS2的输出吗? -
(顺便说一句——除非你还打算用
export -f导出prompt-command函数,并且不需要任何非bash shell 在你的环境中工作,你应该可能保留PS1、PS2和PROMPT_COMMANDshell-local 的值,而不是导出它们)。 -
declare -x PS1="seiji master ~ \$ "
-
声明 -x PS2=" \$ "