我一直在搞,試圖獲得一個新的有色PS1
,如果我使用Python virtualenv,它可以自動告訴我。我非常,非常新的猛砸,所以經過一番研究,我創造了這樣的事情(簡化爲清楚起見):停止bash從字符串內部轉義字符串
function virtualenv {
if [ -n "$VIRTUAL_ENV" ]; then
VIRTUAL=" $BLACK($GREEN`basename $VIRTUAL_ENV`$BLACK)"
else
VIRTUAL=""
fi
}
PS1="$BLUE\[email protected]\h\$VIRTUAL $YELLOW\\$ $RESET"
在希望$BLACK
和$GREEN
變量將在PS1
來解釋,而是我是這樣的:
[email protected] \e[30m(\e[32mmyproject\e[30m) $
彷彿的bash逃避我的整個VIRTUAL
變量,對自己...我已經嘗試過的斜線,報價每一個組合,並命令我有限的技能使...任何幫助嗎?
見行情時和逃避對擊黑客的Wiki:http://wiki.bash-hackers.org/syntax/quoting你想顏色字符串上的單引號。 –
@ReubenMorais我只是嘗試了顏色字符串($ BLUE)和$ VIRTUAL變量中單引號的不同組合。我得到了相同的結果或像gabe @ notebook $ BLACK($ GREENmyproject $ BLACK)的文字表示。 – Gabe
bash的哪個版本?如果它是4.x之前的版本,那麼它不理解'\ e'轉義;您必須使用'\ 033'(或'\ x1b',或通過鍵入control-V或...輸入的文字轉義)。 –