How to Supercharge Your Shell with Bashish [Linux]

If you’re a Linux (or even Mac) user, and you’ve never toyed with your shell prompt, you might not realize just how useful a good prompt can be. Sure, it can show your user and host names, and perhaps the current directory, but a really good prompt can do a whole lot more. Those who spend a LOT of time in the terminal might even want to take it a step further and move into a custom semi-graphical shell with all kinds of bells and whistles. If you’re one such shell enthusiast, then check out Bashish – a way to theme your command prompt. Yep, you read that right.

Not all the links on the Bashish Download Page seem to be working, however the source tarball is working fine. Once extracted, it can be installed from the command line with

./configure && make && sudo make install

If you need details on the above steps, see How to Install Software from a Tarball in Linux.

You’ll need to restart your shell for Bashish to take effect.

Bashish comes with several themes in the base package, and you can list them with the command

bashish list

bashish-list

And once you’ve seen a theme you’d like to try, just enter

bashish (theme name)

There is an alternate method, which will allow you to browse the themes instead of specifying one-at-a-time, but in the tests performed for this article, the theme manager failed to apply changes to theme selection, so the above method is recommended. Should you wish to try the theme manager, it can be run with the command bashishtheme and requires the dialog program in order to run properly.

There are some cases in which Bashish might cause problems with software run through it, so the developers have included a fairly simple way to temporarily suspend Bashish for the duration of a process. To run a command without Bashish, run it as

BASHISH_DISABLED=1 your_command

Of the themes included with Bashish, there are a few that stand out as especially cool (at least in this author’s opinion). The following themes are the ones we’d most recommend, either for usefulness or simply because of the cool factor.

The Box theme applies a border around each section of your output, marking a clear distinction between events.

bashish-box2

The Bashish2 theme is an elegant 2-liner with some minimal information.

bashish-bashish2

The default theme BlueSteel, and with good reason. It looks lovely and contains several bits of useful info.

bashish-bluesteel

Elite and Elite2 are favorites as well, because they pack a lot of info into a small space, and include bash history number in the top line.

bashish-elite2

The LCARS theme is clearly more about style than substance, as it’s intended to resemble the LCARS computer interface seen on several Star Trek series. It doesn’t give much in the ways of useful info, and it takes up a lot of space, but it deserves a mention.

bashish-lcars-large

Finally, for those who want a clear visual split between commands, but not a bunch of text in the way, we’ve got the simplistic Uberprompt.

ashish-uber

If you want a fancy shell without trying to decode a line like PS1=”\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ “ to do it, Bashish is a great way to go. There are enough built-in themes to satisfy just about anyone, and for the most part, they look great. This author will probably be using BlueSteel for quite a while.