This is yet another post in which I'm (almost) simply reposting a solution that someone else has already posted online.
Let's say that my contribution is to put it in context of debian.
Either way, here's the problem that needed solving: the debian prompt by default lists all directories, which sometimes means that the prompt itself breaks across two lines.
Luckily, it's not difficult to chop the prompt down to a more manageable, yet still informative, length. The solution is here (we do like a descriptive URL): http://superuser.com/questions/387673/how-can-i-limit-the-number-of-directories-in-my-prompt
That particular solution also allows you to change the permissible length of the path that will be shown -- change the 50 in the argument to droppath to set the number of chars.
Edit your ~/.bashrc and add the bits in red:
and here's an example using a length of 25 chars (which is a bit short).
Unmodified:
Modified:
You can always use pwd to figure out what the full path is if necessary:
Let's say that my contribution is to put it in context of debian.
Either way, here's the problem that needed solving: the debian prompt by default lists all directories, which sometimes means that the prompt itself breaks across two lines.
Luckily, it's not difficult to chop the prompt down to a more manageable, yet still informative, length. The solution is here (we do like a descriptive URL): http://superuser.com/questions/387673/how-can-i-limit-the-number-of-directories-in-my-prompt
That particular solution also allows you to change the permissible length of the path that will be shown -- change the 50 in the argument to droppath to set the number of chars.
Edit your ~/.bashrc and add the bits in red:
# drops first portion of a path $1 if length is greater than $2
function __droppath {
if [[ ${#1} -gt $2 ]]; then
p=$1
while [ ${#p} -gt $2 ]; do
p="/"$(echo "$p"|cut -d"/" -f3-)
done
echo "..."$p
else
echo $1
fi
}
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]$(_droppath "\w" 50)\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h: $(__droppath "\w" 50)\$ '
fi
and here's an example using a length of 25 chars (which is a bit short).
Unmodified:
me@niobium: /usr/local/lib/python2.7/site-packages$\
Modified:
me@niobium: .../python2.7/site-packages$
You can always use pwd to figure out what the full path is if necessary:
me@niobium: .../python2.7/site-packages$ pwd
/usr/local/lib/python2.7/site-packages
ConversionConversion EmoticonEmoticon