getting a user's home dir (sed/awk?)

Nikos Vassiliadis nvass at
Mon Apr 17 18:11:03 UTC 2006

On Monday 17 April 2006 19:48, Erik Norgaard wrote:
> Hi:
> I am trying to create a script, the idea is to host a number of web
> services, each running as a different process owned by a different user
> bound to a non privileged port on localhost. The point is that each
> service can be restarted without affecting other services and that any
> security compromise does not propagate to other services.
> Now, to start all servers I want to create a master script that looks up
> the user's home directory and runs a script in a predefined path.
> So the question is: given a username, how do I get the homedir?
> I have found "pw usershow user1" will return a line from the passwd
> file, but that needs to be split chewed, and spit out. Seems awk can do
> it but I have no clue.

In addition with the other suggestions, an sh(1)-only sollution is this:

$ username=smmsp
$ eval homedir=~${username}
$ echo $homedir

> Thanks, Erik
> PS: Yes, I know, I could just create a perl script - but this time I
> want to do it all using the tools in base.

That's very "basy", isn't it?

HTH, Nikos

More information about the freebsd-questions mailing list