相关疑难解决方法(0)

尝试为终端 PS1 着色时出现换行错误(即使在转义非打印字符时)

由于我在没有插入笔记本电脑的情况下工作太长时间时遇到了问题,我正在尝试编写一个新的 PS1,它使用 upower 显示我当前的电池状态。我快到了,除了颜色和包装的小(烦人)错误(或更准确地说,缺少,即字符打印在同一行的开头时,当窗口结束时,一切正常/没有新行)。起初,我以为我犯了一个错误(就像迄今为止我在该主题上看到的所有以前的帖子一样)并且忘记转义不可打印的字符(使用\[ \]),但我看不到哪里......如果没有,在 PS1 中叠加别名和功能是否存在任何已知问题(或者有人对做我想做的事情有更好的主意吗?)?

这是我的 PS1(“如果有颜色的术语”部分):

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\](`battPer`)-\A:\[\033[01;34m\]\w\[\033[00m\]\$ '
Run Code Online (Sandbox Code Playgroud)

我的 .bash_aliases 中的 batPer 函数(和别名)(评论如下):

batPer()
{
 percent=`upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep -E percentage | cut -d : -f 2 | cut -d " " -f 11 | cut -d % -f 1`
 plugged=`upower -i /org/freedesktop/UPower/devices/line_power_ACAD | grep -E "online: " | cut -d y -f 2` 

if [ "$plugged" = 'es' ] ; then
    echo -e "\[\e[0;92m\]$percent%\[\e[0m\]"
else
  if [ "$percent" -le 10 ]  ; then …
Run Code Online (Sandbox Code Playgroud)

command-line bash ps1

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

Shell 提示自定义和 cmd 行为

我希望我的提示显示:

  1. 当前(绝对)工作目录,以绿色和

  2. 在新行中,美元符号和一个空白区域。

我正在使用这条线 .profile

export PS1='\e[0;32m$(pwd)\n\e[m$ '

所以当在 eg 时Desktop,我的提示看起来像这样:

然而,有时当点击向上箭头重新运行以前的命令时,在提示开始时会出现一个随机字符序列,除非我按下回车键,否则它似乎不会消失,例如

我从来没有打过cd cd Desktop命令。最奇怪的部分是退格键甚至不会删除cd上面两个命令中的第一个!

有什么建议?

command-line prompt .profile bashrc ps1

4
推荐指数
1
解决办法
861
查看次数

标签 统计

command-line ×2

ps1 ×2

.profile ×1

bash ×1

bashrc ×1

prompt ×1