Path: utzoo!hoptoad!amdcad!amdahl!oliveb!logicon.arpa!nosc!helios.ee.lbl.gov!wasatch!cs.utexas.edu!tut.cis.ohio-state.edu!brutus.cs.uiuc.edu!wuarchive!wugate!uunet!bfmny0!tneff
From: tneff@bfmny0.UUCP (Tom Neff)
Newsgroups: alt.sources
Subject: Grab effective user ID and group ID - Sys V
Summary: quicker than the sed hack
Message-ID: <14548@bfmny0.UUCP>
Date: 14 Aug 89 20:23:53 GMT
Reply-To: tneff@bfmny0.UUCP (Tom Neff)
Followup-To: alt.sources.d
Organization: Flask of Hermes Vitarium
Lines: 46

I love expr(1), don't you?  The possibilities are endless.  I needed to
grab my user and group name and I thought of this way of doing it using
the System V id(1) command.  It's faster than the sed(1) hack people
normally use.  You could run it on non-Sys V systems if you compile the
"uid.c" program that comes with, for instance, "deliver."  Of course if
you're bothering to do that you could just write two little one-shot C
programs, but that's not The Spirit now is it?

--- scratch & sniff here --- scratch & sniff here --- scratch & sniff here ---
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
#	myuid
#	mygid
# This archive created: Mon Aug 14 16:15:48 1989
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'myuid'
then
	echo shar: "will not over-write existing file 'myuid'"
else
sed 's/^X//' << \SHAR_EOF > 'myuid'
X:
X# myuid - display my effective user ID (System V)
Xexpr "`/usr/bin/id`" : '[^(]*(\([^)]*\))'
SHAR_EOF
chmod +x 'myuid'
fi
if test -f 'mygid'
then
	echo shar: "will not over-write existing file 'mygid'"
else
sed 's/^X//' << \SHAR_EOF > 'mygid'
X:
X# mygid - display my effective group ID (System V)
Xexpr "`/usr/bin/id`" : '[^(]*([^(]*(\([^)]*\))'
SHAR_EOF
chmod +x 'mygid'
fi
exit 0
#	End of shell archive

-- 
"We walked on the moon --	((	Tom Neff
	you be polite"		 )) 	tneff@bfmny0.UU.NET