LINUX - bashish - debian install guide and how to

LINUX - Bashish - prompt and shell colorizer - debian
######################################################

NOTE: im currently running DEBIAN 7.3

This will color your shell & your prompt
You cant apt-get it
And get the link to the deb package (or download it directly if your in linux gui) (if link is broken click on another link and navigate source forge to the latest version and click on the downloadable deb package to go to the download site for the latest downloadable deb package of bashish)

GET LINK:
===========
First in browser go here (these elongated instructions because the download pages debian link is broken):
Then click on source in tar.gz format image (the box with the tar words) that will take you to (NOTE:debian link is broken here)
then click on the folder that says "bashish" dont download the tar.gz (unless you want to compile from source code)
click on the latest version "2.2.4" dated 2010-03-15
then click on bashish_2.2.4-1bashish_all.deb
Then rightclick on the direct link and "Copy link address" (thats what it says from Chrome, in IE or firefox might be different wording)
The link I copied was:
If you wget that link you will get a long nasty filename but with the right content, just rename it after download to look nice
Install it thru putty like this:

WGET IT
=========
putty in via ssh to your box
# mkdir ~/bashish-install
# cd ~/bashish-install
# wget LINK
Where link is the link to the debian package, since last update was on 2010 I doubt there will be a new version for a long time so go in like this:
# wget http://downloads.sourceforge.net/project/bashish/bashish/2.2.4/bashish_2.2.4-1bashish_all.deb?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fbashish%2Ffiles%2Fbashish%2F2.2.4%2F&ts=1389585304&use_mirror=softlayer-ams


Since this is from sourceforge most like you will get a garbage file name so rename is

# mv bashish* bashish.deb

Note: I cant remember if the name of the file begins with bashish (the one that download), you can always just do
"mv TAB TAB bashish.deb" or "mv * bashish.deb" (without quotes) since those are the only files in that folder (if you followed my instructions that should be the case)

CONFIRM ITS THE FILE (this should spit out all of the installed files if it works, if this errors out try redownloading the link)
# dpkg -c bashish.deb

Tip: BACKUP YOUR CURRENT PROMPT FILES (optional because bashish appends to them and adds comments so you know which lines were added in case you want to delete them) ~/.bashrc ~/.bash_profile and anyother, for me it was important to backup ~/.bashrc

bashish makes edits to these files as they are loaded first when you login to shell/terminal and thats where the PS1 variable is read which changes the way your shell prompt looks

# dpkg -i bashish.deb

# bashish list

My favorite theme is elite2, however you can try all of these. Try one at a time. Everytime you try one just relog in to your putty (duplicate the session or restart it or whatever - if you want to skip duplicating or restarting session then ssh into localhost as described below in the NOTE)

# bashish fade
# bashish elite2
# bashish elite1
# bashish dos
# bashish spiffydeb  #<--- this is like a typical prompt (go back to normal)

NOTE: to test em log back into a shell or just type "ssh localhost" that will log you in with same user. Also from the new shell that you ssh in, if you write "bashish THEME" where theme is any theme, you will see the theme immediately without being asked to change to a different shell

Thats it from now on everytime you log in you will see that prompt

NOTE: some of the themes didnt work

ERROR WITH "rm" EVERYTIME YOU LOG IN
=======================================

If you get an error similar to this:
rm: remove regular empty file `/root/.bashish/tmp/5/sync'? y
Then this fix is for you.

The temporary solution as you see is to just type y enter but that gets annoying.

NOTE: if you get an annoying "rm" prompt, asking to confirm to delete a sync file.. thats because you have an alias to your "rm" command that says everytime you do "rm" do "rm -i" for confirmation. Well to fix that you have 2 options. 1 is to remove the alias from you ~/.bashrc (comment it out) or your ~/.bashprofile. OR you can edit the bashish code so it always does rm -f on those sync files. I would do the later, because why should you change your alias, make bashish live with your environment instead of it forcing you to change your environment. so first find out which files do that

Since bashish installs thru out the system we need to start our search at /
cd /
This will look thru all files that have anything to do with bashish (in the path or filename) and then grep for the "rm " command and finally grep for the "sync" keyword. Note in grep -H make it list the filename it looked thru
find / -xdev -type f -iwholename "*bashish*" -exec egrep -Hi "rm " {} \; | egrep sync

Your results should be
/usr/share/bashish/main/prompt/sh/init
/usr/share/bashish/main/bashish/sys/update

So vi into those files and find the commands that say "rm " with "sync" in the same line and edit the "rm " to say "rm -f"

(1ST FILE TO CHANGE)
vi /usr/share/bashish/main/prompt/sh/init

CHANGE THE LINE THAT SAYS THIS:
test -f "$HOME/.bashish/tmp/${TTY##*/}/sync" && rm "$HOME/.bashish/tmp/${TTY##*/}/sync"

TO SAY THIS:
test -f "$HOME/.bashish/tmp/${TTY##*/}/sync" && rm -f "$HOME/.bashish/tmp/${TTY##*/}/sync"

SAVE AND EXIT

(2ND FILE TO CHANGE)
vi /usr/share/bashish/main/bashish/sys/update

CHANGE THE LINE THAT SAYS THIS:
    rm "$HOME"/.bashish/tmp/*/sync 2>/dev/null
TO SAY THIS:
    rm -f "$HOME"/.bashish/tmp/*/sync 2>/dev/null

SAVE AND EXIT AND TEST BY RELOGING IN

NOTE: dont mess with the indentation/spaces leading up to the first command in the line. This 1st file didnt have any spaces leading up to the "test" and the second file had 4 spaces worth of indentation leading up to the "rm". 4 spaces looks like this "    " not including the double quotes.
Comments