it-swarm-es.tech

Cambiar el indicador de Cygwin

El indicador cygwin predeterminado de "[email protected] path\ n$" es demasiado largo para mí. Me gustaría mantener el camino.

Quiero que se convierta en:

ruta $

¿Hay un archivo de configuración que pueda modificar para hacer esto?

17
Cristian

Los PS1 variable de entorno controla el mensaje:

PS1='\w $ '

Para obtener más información sobre este y otros temas de configuración de Prompt, escriba man bash (asumiendo que bash es su Shell) y vea la sección "PREGUNTAS".

Para que este cambio sea permanente, edite su ~/.bashrc archivo para agregar la línea anterior.

26
Greg Hewgill

Un Shell de inicio de sesión es aquel cuyo primer carácter del argumento cero es un -, o uno que comienza con la opción --login. Cuando se invoca bash como un Shell de inicio de sesión interactivo, o como un Shell no interactivo con la opción --login, primero lee y ejecuta los comandos del archivo/etc/profile, si ese archivo existe. Después de leer ese archivo, busca ~/.bash_profile, ~/.bash_login y ~/.profile, en ese orden, y lee y ejecuta los comandos del primero que existe y es legible. La opción --noprofile puede usarse cuando se inicia el Shell para inhibir este comportamiento. Cuando se inicia un Shell interactivo que no es un Shell de inicio de sesión, bash lee y ejecuta comandos desde ~/.bashrc, si ese archivo existe.

Entonces depende ... no uso el --login, así que debo agregarlo a ~/.bashrc

1
jr00n

.bashrc no funcionó para mí. Agregué esto al final de/etc/profile y funcionó:

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

Estoy usando Cygwin versión 2.11.2 (última versión del 2018-12-18).

1
Samuel

No estoy seguro de por qué tener menos contexto es mejor que tener más ... El hecho de que haya una nueva línea en el Prompt significa que la longitud del Prompt no debería ser un problema, pero intente esto:

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

o

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

Esto le da un aviso de color:

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

De esa manera, siempre verá el contexto completo de su carpeta, pero aún obtendrá una línea completa para ingresar texto. (Dejé fuera el espacio habitual después del '$' porque está coloreado para mayor claridad).

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

Para aquellos que SÍ quieren el contexto 'usuario @ nombre de host' también:

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

o

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

Esto le da un aviso de color:

[email protected] /full/path/to/current/folder
$your command text here

Esta es mi preferencia.

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.

(No, no hay errores ortográficos en esta publicación - Queen's English;))

1
skeetastax

Pon esto en tu ~/.bashrc. Da un mensaje de color y mantiene el estado en una sola línea.

export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\[email protected]\h \[\e[33m\]\w\[\e[0m\]\$ "
0
Sandeep