diff options
author | Chris Johns <chrisj@rtems.org> | 2009-11-18 00:09:21 +0000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2009-11-18 00:09:21 +0000 |
commit | 05404983e2eedd4801abc7433de57db59a51ad85 (patch) | |
tree | 2500c9f71eaaf7bbb83469604de22190e60e95d9 /cpukit/libmisc/shell/main_getenv.c | |
parent | ba9556096c6ed8e342ff12cef4abb485796bd3ff (diff) |
2009-11-18 Chris Johns <chrisj@rtems.org>
* libmisc/shell/main_getenv.c, libmisc/shell/main_setenv.c,
libmisc/shell/main_unsetenv.c: New. The shell can now play with
environment variables.
* libmisc/Makefile.am, libmisc/shell/shellconfig.h: Add setenv,
getenv, and unsetenv to the shell.
Diffstat (limited to 'cpukit/libmisc/shell/main_getenv.c')
-rw-r--r-- | cpukit/libmisc/shell/main_getenv.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/cpukit/libmisc/shell/main_getenv.c b/cpukit/libmisc/shell/main_getenv.c new file mode 100644 index 0000000000..d18c301ee3 --- /dev/null +++ b/cpukit/libmisc/shell/main_getenv.c @@ -0,0 +1,49 @@ +/* + * Get an environment vairable. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <errno.h> + +#include <rtems.h> +#include <rtems/shell.h> +#include "internal.h" + +int rtems_shell_main_getenv(int argc, char *argv[]) +{ + char* string; + + if (argc != 2) + { + printf ("error: only argument is the variable name\n"); + return 1; + } + + string = getenv (argv[1]); + + if (!string) + { + printf ("error: %s not found\n", argv[1]); + return 1; + } + + printf ("%s\n", string); + + return 0; +} + +rtems_shell_cmd_t rtems_shell_GETENV_Command = { + "getenv", /* name */ + "getenv [var]", /* usage */ + "misc", /* topic */ + rtems_shell_main_getenv, /* command */ + NULL, /* alias */ + NULL /* next */ +}; |