Add whoami(1)
including manpage and other stuff. This program is a no-brainer. This was inspired by an initial commit by e@bestmx.net. Thanks!
This commit is contained in:
parent
bb7427f6c1
commit
09c279285a
1
README
1
README
@ -95,6 +95,7 @@ The following tools are implemented:
|
||||
=*|o uuencode .
|
||||
#*|o wc .
|
||||
=*|x which .
|
||||
=*|x whoami .
|
||||
=*|o xargs (-p)
|
||||
=*|x yes .
|
||||
|
||||
|
9
whoami.1
Normal file
9
whoami.1
Normal file
@ -0,0 +1,9 @@
|
||||
.Dd 2015-12-14
|
||||
.Dt WHOAMI 1
|
||||
.Os sbase
|
||||
.Sh NAME
|
||||
.Nm whoami
|
||||
.Nd show effective uid
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
writes the name of the effective uid to stdout.
|
37
whoami.c
Normal file
37
whoami.c
Normal file
@ -0,0 +1,37 @@
|
||||
/* See LICENSE file for copyright and license details. */
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <pwd.h>
|
||||
|
||||
#include "util.h"
|
||||
|
||||
static void
|
||||
usage (void)
|
||||
{
|
||||
eprintf("usage: %s\n", argv0);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
uid_t uid;
|
||||
struct passwd *pw;
|
||||
|
||||
argv0 = argv[0], argc--, argv++;
|
||||
|
||||
if (argc)
|
||||
usage();
|
||||
|
||||
uid = geteuid();
|
||||
errno = 0;
|
||||
if (!(pw = getpwuid(uid))) {
|
||||
if (errno)
|
||||
eprintf("getpwuid %d:", uid);
|
||||
else
|
||||
eprintf("getpwuid %d: no such user\n", uid);
|
||||
}
|
||||
puts(pw->pw_name);
|
||||
|
||||
return fshut(stdout, "<stdout>");
|
||||
}
|
Loading…
Reference in New Issue
Block a user