更改Cygwin提示


Answers:


26

PS1环境变量控制提示:

PS1='\w $ '

有关此主题和其他提示配置主题的更多信息,请键入man bash(假定bash是您的shell)并查看“ PROMPTING”部分。

要使此更改永久生效,请编辑~/.bashrc文件以添加上述行。


1
〜/ .bashrc不会为登录shell执行。更新〜/ .bash_profile。我使用以下提示字符串,其中包含其他有用的信息,而不仅仅是路径:PS1 ='[\ e [32m] \ t [\ e [33m] \ w [\ e [31m] \]![\ e [0m] \ $'
bobmcn

1
不要忘记,通常.profile源于.bashrc,因此实际上,登录shell的初始化内容与非登录shell 以及 .profile中的内容相同。如果真是这样,将您的新提示放在.bashrc中可以用两只石头杀死两只鸟。

1

登录外壳是一个参数为零的第一个字符为-的外壳程序,或以--login选项开头的外壳程序。当bash作为交互式登录shell或具有--login选项的非交互式shell被调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。读取该文件后,它将按该顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从存在且可读的第一个命令中读取并执行命令。启动外壳程序时,可以使用--noprofile选项禁止此行为。如果启动的不是登录外壳程序的交互式外壳程序,则bash从〜/ .bashrc读取并执行命令(如果该文件存在)。

所以这取决于...我不使用--login,所以我必须将其添加到〜/ .bashrc中


1

不知道为什么上下文少总比上下文多好...提示中有新行的事实意味着提示的长度不应该成为问题,但是请尝试以下操作:

PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

要么

export PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

这给您一个彩色的提示:

/full/path/to/current/folder
$your command text here

这样,您始终会看到完整的文件夹上下文,但是仍然获得完整的行来输入文本。(我在'$'后面省略了惯用空格,因为为清楚起见,它上了颜色)。

Colours are:
    1. '/full/path/...' = yellow;
    2. '$' (on next line) = cyan;
    3. 'your command text...' = light grey.

对于那些确实也想要'user @ hostname'上下文的用户:

PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

要么

export PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

这给您一个彩色的提示:

user@hostname /full/path/to/current/folder
$your command text here

这是我的偏爱。

Colours are:
    1. 'user' = (light) green;
    2. '@' = pink;
    3. 'hostname' = (light) green;
    4. '/full/path/...' = yellow;
    5. '$' (on next line) = cyan;
    6. 'your command text...' = light grey.

(不,此后女王的英语中没有拼写错误;)


1

.bashrc对我不起作用。我将其添加到/ etc / profile的末尾,并且可以正常工作:

export PS1="\[\e[33m\]\w\[\e[0m\] \$ "

我正在使用Cygwin 2.11.2版本(截至2018-12-18的最新版本)。


0

把它放在你的〜/ .bashrc中。提供彩色提示,并将状态保持在一行中。

export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ "
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.