我一直在搞,试图获得一个新的有色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或...输入的文字转义)。 –