VSIDO Community

VSIDO Support => Scripts and How To's => How To's => Topic started by: hakerdefo on May 23, 2014, 03:21:21 PM

Title: exit status of last command in bash prompt
Post by: hakerdefo on May 23, 2014, 03:21:21 PM
I know there are gazillion examples out there on the net about this but almost all of them use 'if-then-else' to achieve this. Which in my view is not very efficient. The one I'm going to present here uses built-in arithmetic option of bash shell and there for is more efficient and Eco-friendly  ;)
If the last command you ran in the terminal failed this will turn '$' ['#' for root] in bash prompt (PS1) an angry red like this,

(http://i.imgur.com/G1M2HdOl.png) (http://imgur.com/G1M2HdO)

But if the command was successful $' ['#' for root] will remain peaceful white,

(http://i.imgur.com/qwurNkIl.png) (http://imgur.com/qwurNkI)

If you think this is cool then all you need to do is open '.bashrc' file in your favorite text-editor and just copy-paste the following at the end of the file,

Code: [Select]
export PS1='${debian_chroot:+($debian_chroot)}\[\e[01;32m\]\u \[\e[01;37m\]> \[\e[01;33m\]\w\n\[\e[$(((($?>0))*31))m\]\$\[\e[0m\] '
Save the file and run the following in your terminal to apply the changes,

Code: [Select]
source .bashrc