mirror of
https://github.com/kforney/pentest-distro-builder.git
synced 2024-11-21 09:40:10 -07:00
Edit bash prompt.
Former-commit-id: e59fe2f2f77eb8b8609a8bc636d08c37f4e08eb9 Former-commit-id: eb6d5364dfafad4ccdc2ce24b9cc0bc2864b00a0
This commit is contained in:
parent
b4570badb5
commit
2638c32afe
2 changed files with 56 additions and 45 deletions
|
@ -30,48 +30,6 @@ shopt -s checkwinsize
|
||||||
# make less more friendly for non-text input files, see lesspipe(1)
|
# make less more friendly for non-text input files, see lesspipe(1)
|
||||||
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||||
|
|
||||||
# set variable identifying the chroot you work in (used in the prompt below)
|
|
||||||
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
|
||||||
debian_chroot=$(cat /etc/debian_chroot)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
|
||||||
case "$TERM" in
|
|
||||||
xterm-color) color_prompt=yes;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
|
||||||
# off by default to not distract the user: the focus in a terminal window
|
|
||||||
# should be on the output of commands, not on the prompt
|
|
||||||
force_color_prompt=yes
|
|
||||||
|
|
||||||
if [ -n "$force_color_prompt" ]; then
|
|
||||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
|
||||||
# We have color support; assume it's compliant with Ecma-48
|
|
||||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
|
||||||
# a case would tend to support setf rather than setaf.)
|
|
||||||
color_prompt=yes
|
|
||||||
else
|
|
||||||
color_prompt=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$color_prompt" = yes ]; then
|
|
||||||
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
|
||||||
else
|
|
||||||
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
|
||||||
fi
|
|
||||||
unset color_prompt force_color_prompt
|
|
||||||
|
|
||||||
# If this is an xterm set the title to user@host:dir
|
|
||||||
case "$TERM" in
|
|
||||||
xterm*|rxvt*)
|
|
||||||
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# enable color support of ls and also add handy aliases
|
# enable color support of ls and also add handy aliases
|
||||||
if [ -x /usr/bin/dircolors ]; then
|
if [ -x /usr/bin/dircolors ]; then
|
||||||
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||||
|
@ -85,8 +43,8 @@ if [ -x /usr/bin/dircolors ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# some more ls aliases
|
# some more ls aliases
|
||||||
#alias ll='ls -l'
|
alias ll='ls -l'
|
||||||
#alias la='ls -A'
|
alias la='ls -A'
|
||||||
#alias l='ls -CF'
|
#alias l='ls -CF'
|
||||||
|
|
||||||
# Alias definitions.
|
# Alias definitions.
|
||||||
|
@ -118,3 +76,57 @@ export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/
|
||||||
if [ -d $HOME/bin ]; then
|
if [ -d $HOME/bin ]; then
|
||||||
export PATH=$HOME/bin:$PATH
|
export PATH=$HOME/bin:$PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
function nonzero_return() {
|
||||||
|
RETVAL=$?
|
||||||
|
[ $RETVAL -ne 0 ] && echo "$RETVAL"
|
||||||
|
}
|
||||||
|
|
||||||
|
# get current branch in git repo
|
||||||
|
function parse_git_branch() {
|
||||||
|
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
|
||||||
|
if [ ! "${BRANCH}" == "" ]
|
||||||
|
then
|
||||||
|
STAT=`parse_git_dirty`
|
||||||
|
echo "[${BRANCH}${STAT}]"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# get current status of git repo
|
||||||
|
function parse_git_dirty {
|
||||||
|
status=`git status 2>&1 | tee`
|
||||||
|
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
|
||||||
|
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
|
||||||
|
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
|
||||||
|
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
|
||||||
|
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
|
||||||
|
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
|
||||||
|
bits=''
|
||||||
|
if [ "${renamed}" == "0" ]; then
|
||||||
|
bits=">${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${ahead}" == "0" ]; then
|
||||||
|
bits="*${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${newfile}" == "0" ]; then
|
||||||
|
bits="+${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${untracked}" == "0" ]; then
|
||||||
|
bits="?${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${deleted}" == "0" ]; then
|
||||||
|
bits="x${bits}"
|
||||||
|
fi
|
||||||
|
if [ "${dirty}" == "0" ]; then
|
||||||
|
bits="!${bits}"
|
||||||
|
fi
|
||||||
|
if [ ! "${bits}" == "" ]; then
|
||||||
|
echo " ${bits}"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
export PS1="[\[\e[01;31m\]\u\[\e[m\]@\[\e[01;31m\]\h\[\e[m\]]:\[\e[01;34m\]\w\[\e[m\]:\[\e[01;32m\]\`parse_git_branch\`\[\e[m\]\[\e[01;31m\]\`nonzero_return\`\[\e[m\]\\$ "
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
set smooth
|
set smooth
|
||||||
set mouse
|
|
||||||
set linenumbers
|
set linenumbers
|
||||||
set morespace
|
set morespace
|
||||||
|
|
Loading…
Reference in a new issue