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

-- 
Eric Blake   ebl...@redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to