2017-02-27 57 views
1

我目前的bash PS1如下:如何修改畅达 '源激活' PS1行为

bldred='\e[1;31m' # Red 
bldcyn='\e[1;36m' # Cyan 
bldwht='\e[1;37m' # White 
txtrst='\e[0m' # Text Reset - Useful for avoiding color bleed 

export PS1="\n\[$bldred\]\u\[$txtrst\]@\[$bldwht\]\h\[$txtrst\]:\[$bldcyn\]\w\[$txtrst\]$ " 

但是,在运行:

source activate <env-name-here> 

默认情况下,告诉conda预先设置env-namePS1

(<env-name-here>) 
[email protected]:fullpath$ 

有没有办法告诉conda在我的PS1之内插入env-name,而不是在换行符之后?

+0

我根本不知道'conda',但是你能不能把它传递给字符串' \ n',并从PS1中删除'\ n'? – Aaron

回答

1

我发现最简单的解决方法是换行摆脱PS1PROMPT_COMMAND

bldred='\e[1;31m' # Red 
bldcyn='\e[1;36m' # Cyan 
bldwht='\e[1;37m' # White 
txtrst='\e[0m' # Text Reset - Useful for avoiding color bleed 

PROMPT_COMMAND="printf '\n'" 
export PS1="\[$bldred\]\u\[$txtrst\]@\[$bldwht\]\h\[$txtrst\]:\[$bldcyn\]\w\[$txtrst\]$ " 

这使得conda保持它的默认PS1行为,同时还能分离庆典用换行命令:

[email protected]:fullpath$ source activate <env-name-here> 

(<env-name-here>) [email protected]:fullpath$