我有一个首选的bash提示布局,并尝试将其应用于2个不同的系统。但是,它在两种环境中的表现都不相同。
如问题中所列,一个运行3.2.25,另一个运行4.1.2。 您可能已经猜到它在具有更高版本的bash的机器上正常工作。
我的问题是我无法看到我所介绍的两个版本都无法理解的内容。
.bashrc的相关行跟随:
# Colours
RED='\[\e[1;31m\]'
GREEN='\[\e[1;32m\]'
YELLOW='\[\e[1;33m\]'
BLUE='\[\e[1;34m\]'
CYAN='\[\e[1;36m\]'
NORM='\[\e[m\]'
# PS1 pieces
DATE='[\D{%d-%m-%Y} \t]'
LPATH='[\w]'
DB_USER='[genomst]'
DB_COL=BLUE
WHERE='[\u@\h]'
PS1="$YELLOW$DATE$GREEN$LPATH$NORM\n${!DB_COL}$DB_USER$NORM$WHERE\$ "
当我尝试搜索我以前使用过的命令时按下ctrl + r进行搜索时,会出现异常行为。
在4.1.2版本当然一切都有效,但在3.2.25版本上,返回的提示显示我的光标在中间闪烁:
重复的步骤是:
1. login as user and receive the following prompt:
[28-09-2017 17:36:20][~]
[genomst][oracle@pwdchora51]$
2. Press ctrl+r and search for vim
[28-09-2017 17:36:20][~]
(reverse-i-search)`vim': vim .bashrc
3. Press left arrow key (could be any but this shows just how far I have moved back)
[28-09-2017 17:36:20][~]
[genomst][oracle@pwdchora51]$ vim .bashrc
^
^表示光标在我的屏幕上的位置
任何有人可以解决这个问题的亮点都会非常感激
如果需要进一步的细节,请告诉我?
答案 0 :(得分:0)
如果您的目标是通用,请尝试使用tput
命令:
RED="\[$( tput -Txterm setaf 1 )\]"
GREEN="\[$( tput -Txterm setaf 2 )\]"
YELLOW="\[$( tput -Txterm setaf 3 )\]"
BLUE="\[$( tput -Txterm setaf 4 )\]"
MAGENTA="\[$( tput -Txterm setaf 5 )\]"
CYAN="\[$( tput -Txterm setaf 6 )\]"
WHITE="\[$( tput -Txterm setaf 7 )\]"
BOLD="\[$( tput -Txterm bold )\]"
NORM="\[$( tput -Txterm sgr0 )\]"