[OT] Does "~" always point to $HOME?
James Long
list at museum.rain.com
Fri Jan 26 23:02:47 UTC 2007
> Message: 24
> Date: Fri, 26 Jan 2007 09:22:44 -0800
> From: Bill Campbell <freebsd at celestial.com>
> Subject: Re: [OT] Does "~" always point to $HOME?
> To: freebsd-questions at freebsd.org, Bill Campbell
> <freebsd at celestial.com>
> Message-ID: <20070126172244.GB6575 at ayn.mi.celestial.com>
> Content-Type: text/plain; charset=us-ascii
>
> My point isn't whether the FreeBSD /bin/sh expands it, but that not all
> systems are FreeBSD, and that one can have problems on other *NIX systems.
>
> Knowing where there may be differences, and avoiding the assumptions that a
> program behaves the same on all systems, can help writing code that's
> portable without surprises.
This begs the rookie question:
What is the portable way to determine an aribtrary user's home directory
then, if ~username is not portable across shells?
Does one just have to grep and awk /etc/passwd? Is the format of
/etc/passwd portable, such that one standard grep/awk sequence will
portably return the home directory for user "username"?
Regards,
Jim
P.S. Does this count as the portable way to do this? :)
...
USERNAME_HOME="`bash -c "echo ~username"`"
cd $USERNAME_HOME
...
More information about the freebsd-questions
mailing list