Add NSH mv command
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4830 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
d86ab22cd0
commit
6104a388de
@ -237,5 +237,6 @@
|
|||||||
* apps/nshlib/nsh_usbdev.c: User now has to press ENTER 3 times before
|
* apps/nshlib/nsh_usbdev.c: User now has to press ENTER 3 times before
|
||||||
USB console will start. Otherwise, the USB console starts before there
|
USB console will start. Otherwise, the USB console starts before there
|
||||||
is anyone at the other end to listen.
|
is anyone at the other end to listen.
|
||||||
* apps/nshilib/nsh_usbdev.c and nsh_consolemain.c: Add support for the USB
|
* apps/nshlib/nsh_usbdev.c and nsh_consolemain.c: Add support for the USB
|
||||||
capability when a USB console is used.
|
capability when a USB console is used.
|
||||||
|
* apps/nshlib/nsh_fscmds.c: Add the 'mv' command
|
||||||
|
@ -602,6 +602,11 @@ o mount -t <fstype> <block-device> <dir-path>
|
|||||||
This is a test
|
This is a test
|
||||||
nsh>
|
nsh>
|
||||||
|
|
||||||
|
o mv <old-path> <new-path>
|
||||||
|
|
||||||
|
Rename the file object at <old-path> to <new-path>. Both paths must
|
||||||
|
reside in the same mounted filesystem.
|
||||||
|
|
||||||
o ps
|
o ps
|
||||||
|
|
||||||
Show the currently active threads and tasks. For example,
|
Show the currently active threads and tasks. For example,
|
||||||
@ -802,6 +807,7 @@ Command Dependencies on Configuration Settings
|
|||||||
mkfifo CONFIG_NFILE_DESCRIPTORS > 0
|
mkfifo CONFIG_NFILE_DESCRIPTORS > 0
|
||||||
mkrd !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_FS_WRITABLE (see note 4)
|
mkrd !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_FS_WRITABLE (see note 4)
|
||||||
mount !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_FS_READABLE (see note 3)
|
mount !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_FS_READABLE (see note 3)
|
||||||
|
mv !CONFIG_DISABLE_MOUNTPOINT && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_FS_WRITABLE (see note 4)
|
||||||
ping CONFIG_NET && CONFIG_NET_ICMP && CONFIG_NET_ICMP_PING && !CONFIG_DISABLE_CLOCK && !CONFIG_DISABLE_SIGNALS
|
ping CONFIG_NET && CONFIG_NET_ICMP && CONFIG_NET_ICMP_PING && !CONFIG_DISABLE_CLOCK && !CONFIG_DISABLE_SIGNALS
|
||||||
ps --
|
ps --
|
||||||
put CONFIG_NET && CONFIG_NET_UDP && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NET_BUFSIZE >= 558 (see note 1,2)
|
put CONFIG_NET && CONFIG_NET_UDP && CONFIG_NFILE_DESCRIPTORS > 0 && CONFIG_NET_BUFSIZE >= 558 (see note 1,2)
|
||||||
@ -840,12 +846,12 @@ also allow it to squeeze into very small memory footprints.
|
|||||||
CONFIG_NSH_DISABLE_LOSETUP, CONFIG_NSH_DISABLE_LS, CONFIG_NSH_DISABLE_MB,
|
CONFIG_NSH_DISABLE_LOSETUP, CONFIG_NSH_DISABLE_LS, CONFIG_NSH_DISABLE_MB,
|
||||||
CONFIG_NSH_DISABLE_MKDIR, CONFIG_NSH_DISABLE_MKFATFS, CONFIG_NSH_DISABLE_MKFIFO,
|
CONFIG_NSH_DISABLE_MKDIR, CONFIG_NSH_DISABLE_MKFATFS, CONFIG_NSH_DISABLE_MKFIFO,
|
||||||
CONFIG_NSH_DISABLE_MKRD, CONFIG_NSH_DISABLE_MH, CONFIG_NSH_DISABLE_MOUNT,
|
CONFIG_NSH_DISABLE_MKRD, CONFIG_NSH_DISABLE_MH, CONFIG_NSH_DISABLE_MOUNT,
|
||||||
CONFIG_NSH_DISABLE_MW, CONFIG_NSH_DISABLE_PS, CONFIG_NSH_DISABLE_PING,
|
CONFIG_NSH_DISABLE_MW, CONFIG_NSH_DISABLE_MV, CONFIG_NSH_DISABLE_PS,
|
||||||
CONFIG_NSH_DISABLE_PUT, CONFIG_NSH_DISABLE_PWD, CONFIG_NSH_DISABLE_RM,
|
CONFIG_NSH_DISABLE_PING, CONFIG_NSH_DISABLE_PUT, CONFIG_NSH_DISABLE_PWD,
|
||||||
CONFIG_NSH_DISABLE_RMDIR, CONFIG_NSH_DISABLE_SET, CONFIG_NSH_DISABLE_SH,
|
CONFIG_NSH_DISABLE_RM, CONFIG_NSH_DISABLE_RMDIR, CONFIG_NSH_DISABLE_SET,
|
||||||
CONFIG_NSH_DISABLE_SLEEP, CONFIG_NSH_DISABLE_TEST, CONFIG_NSH_DISABLE_UMOUNT,
|
CONFIG_NSH_DISABLE_SH, CONFIG_NSH_DISABLE_SLEEP, CONFIG_NSH_DISABLE_TEST,
|
||||||
CONFIG_NSH_DISABLE_UNSET, CONFIG_NSH_DISABLE_USLEEP, CONFIG_NSH_DISABLE_WGET,
|
CONFIG_NSH_DISABLE_UMOUNT, CONFIG_NSH_DISABLE_UNSET, CONFIG_NSH_DISABLE_USLEEP,
|
||||||
CONFIG_NSH_DISABLE_XD
|
CONFIG_NSH_DISABLE_WGET, CONFIG_NSH_DISABLE_XD
|
||||||
|
|
||||||
NSH-Specific Configuration Settings
|
NSH-Specific Configuration Settings
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -521,6 +521,9 @@ void nsh_usbtrace(void);
|
|||||||
# ifndef CONFIG_NSH_DISABLE_MKRD
|
# ifndef CONFIG_NSH_DISABLE_MKRD
|
||||||
int cmd_mkrd(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
|
int cmd_mkrd(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef CONFIG_NSH_DISABLE_MV
|
||||||
|
int cmd_mv(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
|
||||||
|
# endif
|
||||||
# ifndef CONFIG_NSH_DISABLE_RM
|
# ifndef CONFIG_NSH_DISABLE_RM
|
||||||
int cmd_rm(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
|
int cmd_rm(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
|
||||||
# endif
|
# endif
|
||||||
|
@ -1212,6 +1212,50 @@ int cmd_mount(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Name: cmd_mv
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_FS_WRITABLE)
|
||||||
|
#ifndef CONFIG_NSH_DISABLE_MV
|
||||||
|
int cmd_mv(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
|
||||||
|
{
|
||||||
|
char *oldpath;
|
||||||
|
char *newpath;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* Get the full path to the old and new file paths */
|
||||||
|
|
||||||
|
oldpath = nsh_getfullpath(vtbl, argv[1]);
|
||||||
|
if (!oldpath)
|
||||||
|
{
|
||||||
|
return ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
newpath = nsh_getfullpath(vtbl, argv[2]);
|
||||||
|
if (!newpath)
|
||||||
|
{
|
||||||
|
nsh_freefullpath(newpath);
|
||||||
|
return ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Perform the mount */
|
||||||
|
|
||||||
|
ret = rename(oldpath, newpath);
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
nsh_output(vtbl, g_fmtcmdfailed, argv[0], "rename", NSH_ERRNO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Free the file paths */
|
||||||
|
|
||||||
|
nsh_freefullpath(oldpath);
|
||||||
|
nsh_freefullpath(newpath);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: cmd_nfsmount
|
* Name: cmd_nfsmount
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
@ -263,6 +263,12 @@ static const struct cmdmap_s g_cmdmap[] =
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 && defined(CONFIG_FS_WRITABLE)
|
||||||
|
# ifndef CONFIG_NSH_DISABLE_MV
|
||||||
|
{ "mv", cmd_mv, 3, 3, "<old-path> <new-path>" },
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_NSH_DISABLE_MW
|
#ifndef CONFIG_NSH_DISABLE_MW
|
||||||
{ "mw", cmd_mw, 2, 3, "<hex-address>[=<hex-value>][ <hex-byte-count>]" },
|
{ "mw", cmd_mw, 2, 3, "<hex-address>[=<hex-value>][ <hex-byte-count>]" },
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user