El juego de “El ahorcado” para la terminal escrito en #Bash

Abre una consola y comienza a jugar a “El colgado” con este pequeño programa escrito en Bash.

Si para ti, el hecho de aprender a programar en Bash es sinónimo de entretenimiento, entonces es que tu también eres muy geek 🙂

Hace un par de días encontré un repositorio en GitHub con el clásico juego de “El ahorcado” en el que adivinar una palabra, acertando las letras que lo componen, antes de que en cada fallo se vaya completando una figura colgando de una horca.

Me gusta aprender cosas nuevas, me gusta aprender Bash y me gustó clonar el repositorio y ver cómo estaba hecho el programa en cuestión.

También me decidí a modificarlo y añadir la opción de poder jugar en inglés o en español (con palabras en ambos idiomas) y alguna otra modificación más.

Este puede ser un buen comienzo para aprender Bash o para enseñarlo. Quizás eres un profesor que enseña a programar a alumno, ¿Por qué no empezar con juegos sencillos como este? en el que también tiene una parte de juego.

Sigue leyendo

Añadir un icono que muestre el estado de los modos de Vim en la shell

Aprenderemos cómo añadir un icono en el prompt de nuestra shell para mostrar si estamos en modo normal o insertar si hemos activado el modo vim en nuestra shell

Hace un tiempo pudiste leer en el blog cómo activar el modo vim en nuestra shell o línea de comandos:

Con esto lo que hacemos es habilitar un modo similar a Vim en la shell. Con lo que tendremos un modo insertar en el que podremos escribir y un modo normal en el que funcionarán los distintos comandos de Vim a la hora de movernos.

Esto puede ser muy útil si echas de menos los comandos de Vim a la hora de mover el cursor, desplazarse por el historial, borrar palabras, reemplazar, etc.

Pero tiene un inconveniente, no muestra información sobre el modo en el que estamos. Es decir, no tenemos información de si estamos en modo normal (o de comandos) o en modo insertar. ¡Este tutorial viene a solucionar eso!

Este tutorial viene a engrosar la serie de tutoriales sobre Vim para recién llegados (como yo) que voy escribiendo en mi blog y que puedes leer en este enlace:

Sigue leyendo

Cómo cambiar el color del prompt de powerline en la shell Bash

Veamos cómo adaptar a nuestros gustos el prompt de powerline en la shell cambiándolo de color

 

Powerline es una pequeña utilidad escrita en Python que muestra información de una manera distinta en el prompt de nuestra shell y de muchas otras aplicaciones como Vim, tmux, etc.

Ya en el blog escribí sobre cómo añadir Powerline en la barra de nuestro gestor de ventanas i3 y cómo poder añadirle algunos segmentos con información extra.

Además “David Ochobits” en su blog también escribió al respecto y también puedes encontrar más información en Colaboratorio sobre cómo instalar Powerline en Ubuntu.

En este artículo os voy a contar cómo modificar el color predeterminado y adaptarlo a nuestros gustos y nuestro escritorio o cómo poder instalar otros “temas” o crear el nuestro.

Sigue leyendo

Cómo instalar el prompt Starship en Linux

Veamos cómo darle un toque distinto al prompt de nuestra Shell con Starship para Bash, Fish o Zsh

Imagen: David Revoy

Starship es el prompt para astronautas… o eso dicen en su página web. En mi blog ya he escrito varios tutoriales sobre cómo modificar el prompt des nuestra Shell, en mi caso Bash.

El proyecto Starship lo que hace es darle un toque personal, minimalista y totalmente configurable a nuestro prompt de sistema de la línea de comandos, independientemente de si usamos Bash u otra opción.

En el siguiente tutorial veremos la manera de descargarlo, instalarlo y un ejemplo de uso.

Sigue leyendo

fff el gestor de archivos jodidamente rápido para la línea de comandos de #Linux

fff o Fucking Fast File-manager es un gestor de archivos escrito en Bash con el que podrás explorar tus archivos y gestionarlos en la línea de comandos de manera rápida e indolora.

La línea de comandos de GNU/Linux es una herramienta que con el tiempo aprenderás a utilizar y a sacarle todo el potencial.

Además hay buenas herramientas para la línea de comandos que hacen que esta se vuelva más potente, y a veces la opción necesaria (ya sabes eso de “if there’s a shell, there’s a way”)

En este caso veremos una aplicación sencilla pero potente, escrita en Bash. Se trata de fff un gestor de archivos para la terminal de GNU/Linux con interesantes opciones. Veamos cómo instalarlo en nuestro equipo y empezar a utilizarlo.

Sigue leyendo

Cambiar el color del prompt en openSUSE 12.3

¿Quieres darle una toque de color al prompt de tu consola Linux? Te enseño cómo lo hice yo, por si te funciona.

consola-linux-shell

Hace un tiempo escribí un artículo sobre cómo cambiar el color del prompt en openSUSE. Puedes ver ese artículo en este enlace:

En openSUSE cuando te logueas como superusuario el prompt se pone de color rojo, para recordarte que lo que hagas será como superusuario, así que atente a las consecuencias.

Creo que es una buena idea, pero también me pareció una buena idea, y además muy útil, el marcar de otro color el prompt cuando estes logueado como un usuario normal. Y estando en openSUSE que mejor que el color verde?

Cuando listas unos archivos o escribes varias líneas en la consola, el color verde del prompt ayuda a distinguir dónde comienza una línea y empieza otra, creo que es muy útil… Así que echando mano de mi propio artículo, una vez instalada openSUSE 12.3 quise volver a poner el prompt de color verde. Pero la sorpresa fue, cuando ví que el código para realizarlo había cambiado, así que no me valía.

Para hacer que el prompt cambie de color o para editar otras configuraciones de la consola, hay que editar como superusuario el archivo que se encuentra en la siguiente dirección:

  •  /etc/bash.bashrc

Bueno, una vez abierto estuve tratando de ver cómo podía modificarlo, hasta conseguir lo que quería, después de unas cuantas pruebas. Puedes ver el resultado en esta captura. Haz click sobre la imagen para ampliar:

captura_prompt

Captura prompt

Os dejo la parte del código que modifique para que la comparéis con lo que tenéis vosotros en vuestro archivo y lo modifiquéis si os interesa, o juguéis como mejor os parezca. No pongo todo el archivo, si no la parte en la que hice las modificaciones:

# Other prompting for root
 if test "$UID" -eq 0 ; then
 if test -n "$TERM" -a -t ; then
 _bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
 _sgr0="$(path tput sgr0 2> /dev/null)"
 fi
 # Colored root prompt (see bugzilla #144620)
 if test -n "$_bred" -a -n "$_sgr0" ; then
 _u="\[$_bred\]\h:"
 _p="\w > #\[$_sgr0\]"
 else
 _u="\h: "
 _p="\w > #"
 fi
 
 unset _bred _sgr0
 else
 #_u="\u@\h"
 _u="\[\e[32m\]\u@\h:\w\>\[\e[m\]"
 _p=""
 fi
 if test -z "$EMACS" -a -z "$MC_SID" -a -z "$restricted" -a \
 -n "$DISPLAY" -a ! -r $HOME/.bash.expert
 then
 _t="\[\$(ppwd)\]"
 else
 _t=""
 fi
 case "$(declare -p PS1 2> /dev/null)" in
 *-x*PS1=*)
 ;;
 *)
 # With full path on prompt
 #PS1="${_t}${_u}:\w${_p} "
 PS1="${_t}${_u}${_p} "
 #PS1="\[\e[32m\]\u@\h:\w\>\[\e[m\] "
# # With short path on prompt
# PS1="${_t}${_u}:\$(spwd)${_p} "
# # With physical path even if reached over sym link
# PS1="${_t}${_u}:\$(pwd -P)${_p} "
 ;;
 esac
 unset _u _p _t
 ;;

—————————————————-

Cambiar color del prompt en openSUSE

Seguro que sabes que es el prompt, por si no lo sabes, aqui una explicación de la wikipedia:

Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable.

En mi caso mi prompt al ver la consola es este:

victorhck@openSUSE:~\>

Utilizando la consola en Linux en general y en openSUSE en particular, al loguearte como superusuario, el prompt cambia a color rojo, esto te indica que debes tener cuidado con las acciones que realices, ya que con estos privilegios puedes realizar operaciones que den al traste con el sistema , o con información de otros usuarios.

Parece que esta mejora fue reportada a Bugzilla desde 2006 y desde entonces se mantiene, ya que es muy útil. Pues igual de útil que esto, me pareció a mi hacer que cuando estes como usuario normal, el prompt esté coloreado de otro color distinto del texto normal, por ejemplo verde, ya que estamos con openSUSE 😉 .

Me parece igual de útil, ya que al hacer un listado de varios directorios, o en otras ocasiones, no puedes distinguir dónde empezaba una línea y terminaba, lo que mostraba el comando. Así que decidí “darle color”. Buscando un poco encontŕe que los datos del prompt se guardan en la variable de sistema PS1.

Así, puedes ver los valores del tuyo con el siguiente comando.

echo $PS1

Las características de la consola se guardan en el siguiente archivo de configuración: /etc/bash.bashrc. Por tanto editándolo podemos cambiar el valor de PS1 y adaptarlo a lo que queremos. Lo abrimos como root con nuestro editor favorito. a mi me muestra lo siguiente, no lo pongo entero, si no sólo la parte que modifiqué:

  case "$(declare -p PS1 2> /dev/null)" in
 *-x*PS1=*)
 ;;
 *)
 # With full path on prompt
 # >>>> Quito la linea inferior
 # PS1="${_t}${_u}:\w${_p} "
 # >>>> Añado esta para colorear el prompt de verde
 PS1="\[\e[32m\]\u@\h:\w\>\[\e[m\] "
# # With short path on prompt
# PS1="${_t}${_u}:\$(spwd)${_p} "
# # With physical path even if reached over sym link
# PS1="${_t}${_u}:\$(pwd -P)${_p} "
 ;;
 esac
 # Colored root prompt (see bugzilla #144620)
 if test "$UID" -eq 0 -a -n "$TERM" -a -t ; then
 _bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
 _sgr0="$(path tput sgr0 2> /dev/null)"
 # >>> modifico la línea inferior 
 # PS1="\[$_bred\]$PS1\[$_sgr0\]"
 PS1="\[$_bred\]${_t}${_u}:\w${_p}\[$_sgr0\]"
 unset _bred _sgr0
 fi

Marco en rojo las modificaciones para que veas que he cambiado, quitado o añadido. Guardas los cambios y verás la vida de otro color, o por lo menos la consola!  😉

Aqui dejo una captura de Yakuake. Pincha sobre la imagen para ampliar.

Espero que te haya servido y te sea útil.

EDITO: Si lo quieres hacer para tu openSUSE 12.3 este método no te vale, ya que ha cambiado el código del archivo que hay que modificar. Para hacerlo mira este enlace: https://victorhckinthefreeworld.wordpress.com/cambiar-el-color-del-prompt-en-opensuse-12-3/

——————————————————————————————–