Command prompt setup
Quite for some time I was taking command prompt for granted, thinking that it is just as it is. But today is the day, I’m setting up the command prompt that I like!
First thing to do was actually to decide what exact command prompt I like. After searching the Internet for details about setting up prompt, I have picked two links to put in this post: first about general details for PS1 environment variable, and second about putting current git branch to command prompt. For me it appears that ideal prompt is as easy as <username>@[<directory> (:<git branch, if any>)] $
. My final setup is published at github as a gist.
In short, this is how to detect current git branch (here I put prefix ` :` before branch name in order to completely remove branch section of command prompt if there aren’t any git branch - this happens, sometimes I don’t go to folders between git repositories, that have no git branch).
## Get output of 'git branch' and leave only row that contains '*'
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ :\1/'
From article I can find needed characters for username and current directory.
## \u - the username of the current user
## \w - the current working directory, with $HOME abbreviated with a tilde
Now it’s time to put everything together and get final result. Put this into ~/.bashrc
on Linux and/or ~/.bash_profile
on MacOS.
get_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ :\1/'
}
export PS1='\u@[\w$(get_git_branch)] $ '
I think I’ve never been typing words ‘command prompt’ so much before writing this post.