apps/nshlib: Add support for '-n' option to the echo command.
This commit is contained in:
parent
f8d683c590
commit
8ecf618a4d
@ -466,11 +466,13 @@ o dirname <path>
|
|||||||
Extract the path string leading up to the full <path> by removing
|
Extract the path string leading up to the full <path> by removing
|
||||||
the final directory or file name.
|
the final directory or file name.
|
||||||
|
|
||||||
o echo [<string|$name> [<string|$name>...]]
|
o echo [-n] [<string|$name> [<string|$name>...]]
|
||||||
|
|
||||||
Copy the sequence of strings and expanded environment variables to
|
Copy the sequence of strings and expanded environment variables to
|
||||||
console out (or to a file if the output is re-directed).
|
console out (or to a file if the output is re-directed).
|
||||||
|
|
||||||
|
The -n option will suppress the trailing newline character.
|
||||||
|
|
||||||
o exec <hex-address>
|
o exec <hex-address>
|
||||||
|
|
||||||
Execute the user logic at address <hex-address>. NSH will pause
|
Execute the user logic at address <hex-address>. NSH will pause
|
||||||
|
@ -186,9 +186,9 @@ static const struct cmdmap_s g_cmdmap[] =
|
|||||||
|
|
||||||
#ifndef CONFIG_NSH_DISABLE_ECHO
|
#ifndef CONFIG_NSH_DISABLE_ECHO
|
||||||
# ifndef CONFIG_DISABLE_ENVIRON
|
# ifndef CONFIG_DISABLE_ENVIRON
|
||||||
{ "echo", cmd_echo, 1, CONFIG_NSH_MAXARGUMENTS, "[<string|$name> [<string|$name>...]]" },
|
{ "echo", cmd_echo, 1, CONFIG_NSH_MAXARGUMENTS, "[-n] [<string|$name> [<string|$name>...]]" },
|
||||||
# else
|
# else
|
||||||
{ "echo", cmd_echo, 1, CONFIG_NSH_MAXARGUMENTS, "[<string> [<string>...]]" },
|
{ "echo", cmd_echo, 1, CONFIG_NSH_MAXARGUMENTS, "[-n] [<string> [<string>...]]" },
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* apps/nshlib/nsh_envcmds.c
|
* apps/nshlib/nsh_envcmds.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2009, 2011-2012 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2009, 2011-2012, 2018 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@ -50,18 +50,6 @@
|
|||||||
#include "nsh.h"
|
#include "nsh.h"
|
||||||
#include "nsh_console.h"
|
#include "nsh_console.h"
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Pre-processor Definitions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Types
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Function Prototypes
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Data
|
* Private Data
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -72,10 +60,6 @@ static const char g_oldpwd[] = "OLDPWD";
|
|||||||
static const char g_home[] = CONFIG_LIB_HOMEDIR;
|
static const char g_home[] = CONFIG_LIB_HOMEDIR;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Public Data
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Functions
|
* Private Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -278,17 +262,32 @@ int cmd_cd(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
int cmd_echo(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
int cmd_echo(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
int s = 1;
|
||||||
|
|
||||||
|
if (0 == strncmp(argv[1], "-n", 2))
|
||||||
|
{
|
||||||
|
s = 2;
|
||||||
|
}
|
||||||
|
|
||||||
/* echo each argument, separated by a space as it must have been on the
|
/* echo each argument, separated by a space as it must have been on the
|
||||||
* command line
|
* command line
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (i = 1; i < argc; i++)
|
for (i = s; i < argc; i++)
|
||||||
{
|
{
|
||||||
nsh_output(vtbl, "%s ", argv[i]);
|
if (i != s)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, " ");
|
||||||
|
}
|
||||||
|
|
||||||
|
nsh_output(vtbl, "%s", argv[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (1 == s)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
nsh_output(vtbl, "\n");
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user