bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug] Home dir in PS1 not abbreviated to tilde


From: dethrophes
Subject: Re: [bug] Home dir in PS1 not abbreviated to tilde
Date: Tue, 13 Mar 2012 16:47:28 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2

Am 13.03.2012 16:42, schrieb Eric Blake:
On 03/13/2012 09:27 AM, Eric Blake wrote:
Be aware that both approaches will misbehave if HOME is a root directory
(/ or //), where you _don't_ want to strip trailing slashes.  So you
really want:

case $HOME in
   *[^/]* ) HOME=${HOME%${HOME##*[^/]}} ;;
esac
Actually, shortening /// to / is okay (it's only // that must not
unconditionally be shortened to /, due to POSIX specification and Cygwin
behavior of //), so a modified version would be:

case $HOME in
   *[^/]* ) HOME=${HOME%${HOME##*[^/]}} ;;
   / | // ) ;;
   *) HOME=/ ;;
esac

wouldn't this be better?

case "$HOME" in
  / | // ) ;;
  * ) HOME="${HOME%${HOME##*[^/]}}" ;;
esac




reply via email to

[Prev in Thread] Current Thread [Next in Thread]