我有一個首選的bash提示佈局,並試圖將它應用於2個不同的系統工作。但是,在兩種環境下它都不會執行相同的操作。PS1提示bash版本之間的差異3.2.25 v 4.1.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='[\[email protected]\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][[email protected]]$
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][[email protected]]$ vim .bashrc
^
^表示遊標所在我的屏幕上
有人能在這個問題上流下將感激任何光線
請讓我知道我f需要進一步的細節?
讓它'PS1 =「$ YELLOW $ DATE $ GREEN $ LPATH $ NORM \ n $ $ DB_USER $ NORM $ WHERE \ $ $ NORM「'(注意'$ NORM'在最後將轉義序列重置爲正常。)我發現使用轉義序列本身比較容易,例如'export PS1 ='\ [\ e [0; 37m \] \ D {%R} \ [\ e [1; 34m \] \ h:\ w> \ [\ e [0m \]「' –
@DavidC .Rankin - 即使使用直接轉義序列,結果也是一樣的 - PS1 ='\ [\ e [1; 33m \] [\ D {%d-%m-%Y} \ t] \ [\ e [1; 32m \] [\ w] \ n \ [\ e [1; 34m \] nonex \ [\ e [m \] [\ u @ \ h] \ $'---請參閱下面的註釋,問題 – grail
您是否嘗試刪除所有顏色代碼並檢查行爲?就像:'PS1 =「$ DATE $ LPATH \ n $ {!DB_COL} $ DB_USER $ WHERE \ $」' –