diff options
Diffstat (limited to 'command/whoami.c')
-rw-r--r-- | command/whoami.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/command/whoami.c b/command/whoami.c new file mode 100644 index 0000000..5823b8f --- /dev/null +++ b/command/whoami.c @@ -0,0 +1,30 @@ +#include "command.h" +#include "lslib.h" + +#include <pwd.h> +#include <stdlib.h> +#include <unistd.h> + +static void help(void) { + printf("Usage: whoami\n\n"); + printf("Print the username associated with the current effective user id\n"); + exit(EXIT_SUCCESS); +} + +COMMAND(whoami) { + + uid_t usr; + struct passwd* passwd; + + parse_help(argc, argv, help); + + usr = getuid(); + passwd = getpwuid(usr); + + if (passwd == NULL) { + printf("\x1b[1;91myou do not exist.\n"); + } else { + printf("%s\n", passwd->pw_name); + } + return EXIT_SUCCESS; +} |