Este código sirve para indicar si el último comando ha tenido éxito o no, de manera que siempre esté visible en el propio prompt, es ideal para depurar código entre otras cosas.
Versión rápida (aunque no muy legible :P):
export PS1='$( [ "$?" -eq 0 ] && M=")" || M="("; echo -n :$M ) '$PS1
Incluyendo este fragmento en ~/.bashrc siempre estará activo:
# Indicacion de si el ultimo comando ha tenido exito # inspirada por http://mendel.livejournal.com/128965.html #export PS1='`test "$?" -eq 0 && echo -n ":)" || echo -n ":(" ` '$PS1 # Version con funcion sacada de http://linuxgazette.net/122/lg_tips.html #Alternativamente: "More-or-less undocumented Bash-ism - a C-style trinary operator": #smiley () { echo -e ":\$(($??50:51))"; } _smiley() { if [ $? -eq 0 ]; then echo ':)' else echo ':(' fi } #... export PS1='$(_smiley) '$PS1
Ejemplo:
:) toni@host:~$ false :( toni@host:~$ true :) toni@host:~$
Revisado y corregido por última vez el 2013-10-22
Discover more from OutlyerNet
Subscribe to get the latest posts to your email.