viernes, 15 de agosto de 2014

Top 7 de Prompts para la Terminal

Top 7 de Prompts para la Terminal

Para cambiar el Prompt del sistema puedes editar el contenido de la variable “PS1” que por ejemplo puedes encontrar en tu archivo .bashrc ubicado tu directorio Home. Aqui a continuación encuentras algunos ejemplos de Prompt que pueden servir de base para crear los tuyos propios. Si quieres probarlos, copia y pega el texto asociado al final de tu fichero .bashrc (del home) y en una


terminal ejecuta cd && . .bashrc
Este es el Prompt que más me gusta. Ejecuta el comando y si termina con exito se muestra la linea en color verde, en caso de que termine con error, cambia a color rojo.
1
PS1="\[\033[0;33m\][\!]\`if [[ \$? = "0" ]]; then echo "\\[\\033[1\\\;32m\\]"; else echo "\\[\\033[1\\\;31m\\]"; fi\`[\u:\`if [[ `pwd|wc -c|tr -d " "` > 18 ]]; then echo "\\W"; else echo "\\w"; fi\`]\$\[\033[0m\] "; echo -ne "\033]0;`hostname -s`:`pwd`\007"


El prompt del “amor”, aunque tambien lo puedes cambiar a “amore”
1
2
3
4
5
PROMPT_HOSTNAME='LOVE'
PROMPT_COLOR='1;30m'
PROMPT_COLOR2='1;31m'
PS1='\e[${PROMPT_COLOR}[\e[${PROMPT_COLOR2}\u@${PROMPT_HOSTNAME}\e[${PROMPT_COLOR}] \e[${PROMPT_COLOR2}♡ '

1
PS1='${debian_chroot:+($debian_chroot)}\[\033[00;36m\]\u\[\033[00m\]@\h://\[\033[05;33m\]\w\[\033[00m\] \$ '

Uno un poco mas elaborado con funciones en bash, que imprime los trabajos pendientes, la carga, etc…
1
2
3
4
5
6
7
8
9
10
11
function jobcount {
   jobs | wc -l | tr -d " "
}
cur_tty=$(tty | sed -e "s/.*tty\(.*\)/\1/")
loadavg=$(uptime | sed -e "s/.*load average: \(.*\...\), \(.*\...\), \(.*\...\)/\1/" -e "s/ //g")
# PROMPT
PS1='\[\033[1;44m\]\[\033[1;34m\]  \[\033[1;40m\] [\u@\h:\w]\n\[\033[1;44m\]\[\033[1;34m\]  \[\033[1;40m\] [j:`jobcount`, t:$cur_tty, l:$loadavg]\n\[\033[1;46m\]\[\033[1;36m\]  \[\033[1;40m\] [`date +%D` \t] $> \[\033[0;39m\]'

1
PS1='\n\[\033[01;34m\]\u @ \w\n\[\033[0;36m\]\t $ \[\033[0;39m\]'

Uno con codigos de color, editando la entrada puedes usar otros colores de la lista previa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C_RED="\[\033[0;31m\]"
C_GREEN="\[\033[0;32m\]"
C_LIGHT_GRAY="\[\033[0;37m\]"
C_RESET="\[\033[0m\]"
C_BROWN="\[\033[0;33m\]"
C_BLUE="\[\033[0;34m\]"
C_PURPLE="\[\033[0;35m\]"
C_CYAN="\[\033[0;36m\] "
C_GRAY="\[\033[1;30m\]"
C_WHITE="\[\033[1;37m\]"
C_YELLOW="\[\033[1;33m\]"
C_LIGHT_BLUE="\[\033[1;34m\]"
C_LIGHT_CYAN="\[\033[1;36m\]"
C_LIGHT_PURPLE="\[\033[1;35m\]"
C_LIGHT_RED="\[\033[1; 31m\]"
C_LIGHT_GREEN="\[\033[1;32m\]"
PS1="$C_BLUE[$C_RED\$?$C_BLUE][$C_RED\u@\h:\w$C_BLUE]\$ $C_RESET"

y para finalizar, el que uso ahora
1
PS1='\n\[\033[1;34m\]\342\226\210\342\226\210 \u @ \w\n\[\033[0;36m\]\342\226\210\342\226\210 \t $ \[\033[0;39m\]'

Algunos codigos de color:
Negro 0;30
Gris oscuro 1;30
Azul 0;34
Azul resaltado 1;34
Verde 0;32
Verde resaltado 1;32
Cian 0;36
Cyan resaltado 1;36
Rojo 0;31
Rojo resaltado 1;31
Púrpura 0;35
Púrpura resaltado 1;35
Café 0;33
Amarillo 1;33
Gris 0;37
Blanco 1;37
Puedes usarlos de una manera similar a :
1
echo -e 'Así se escribe \e[1;34mG\e[0m\e[1;31mo\e[0m\e[1;33mo\e[0m\e[1;34mg\e[0m\e[1;32ml\e[0m\e[1;31me\e[0m'
Tambien puedes leer mi entrada: Cambiando la prompt de la terminal
Fuentes | Ubuntu Forums | CasiDiablo (Prompts utiles)

14 Responses to “Top 7 de Prompts para la Terminal”

  1. DAG julio 14, 2010 en 7:57 pm
    Soy bastante noob, así que me costó darme cuenta que para que funcione esto, hay que comentar las lineas:
    # set a fancy prompt (non-color, unless we know we “want” color)
    case “$TERM” in
    xterm-color) color_prompt=yes;;
    esac
    y luego agregar esta
    color_prompt=yes;
    porque de lo contrario el color no funciona.
  2. PoliticKiller julio 15, 2010 en 1:38 am
    Hola.
    Todos los prompts me tiran error o se muestran mal, a priori me di cuenta que falta el apostrofe de cierre.
    Me gustaría hacer una combinación del primero con el cuarto para que se mostraran los job que se están ejecutando, cualquier ayuda es bienvenida.
    Gracias y saludos.
  3. PoliticKiller julio 15, 2010 en 2:03 am
    Hola…
    me respondo a mi mismo :) así quedaría el prompt que me gusta:
    PS1=”\[33[0;33m\][\!][\j]\`if [[ \$? = "0" ]]; then echo “\\[\33[1\\\;32m\\]“; else echo “\\[\33[1\\\;31m\\]“; fi\`[\u:\`if [[ `pwd|wc -c|tr -d " "` > 18 ]]; then echo “\\W”; else echo “\\w”; fi\`]\$\[33[0m\] “; echo -ne “33]0;`hostname -s`:`pwd`07″
    Y efectivamente tienes las líneas de los prompts cortadas y faltan caracteres.
    Saludos.
  4. PoliticKiller julio 15, 2010 en 3:02 am
    Hola, ya se ven la líneas completas bien hecho ;)
    Una pregunta:
    Si quiero que el prompt modificado se aplique a todos los usuarios de la PC tengo que modificar el archivo .bashrc de cada uno o hay algún archivo que funcione a modo global ?
    Y lo mismo para cuando abro una terminal por SSH para tener el prompt modificado.
    Gracias y saludos.
  5. fosco_ julio 15, 2010 en 3:19 am
    Buena recopilación, gracias por compartirla
  6. Balua julio 16, 2010 en 2:24 am
    Excelente aporte.
  7. junior diciembre 21, 2011 en 2:24 pm
    hola!! que tal?
    Sigo tu blog desde liferea, quiero agradecer todo lo que haces y
    por compartir.
    te mando mi prompts:
    PS1=’\[33[00;36m\]\u\[33[1;33m\] | \[33[0;31m\]\h:\[33[05;33m\]\n\[33[1;35m\][\w]\[33[00m\]\$ ‘
    Hace mucho que lo uso y no se de donde lo saque.

No hay comentarios:

Publicar un comentario

Los comentarios serán supervisados antes de su publicacion

Related Posts Plugin for WordPress, Blogger...

Entradas populares

LinuxSur.org Img

LinuxSur.org Img