mirror of
https://git.rtems.org/rtems-docs/
synced 2025-05-15 05:39:11 +08:00

Compiling the code from examples "code-block:: c" along with public includes and a bsp exposed a few issues amongst a lot of false positives. Address some of these: * Terminate struct declarations with ';'. Mainly for pedantic correctness. * Show ptrdiff_t instead of size_t for the sbrk() prototype, matching the current argument type in rtems. * Replace some occurrences of unsigned16 with uint16_t. * Fix odd type declaration, "uint8_t char*" -> "char*". * Use appropriate helper to get chain head instead of invalid access to nonexistent struct member. * Remove several excess '\' escapes. * Use RTEMS_SELF instead of undefined SELF. * Use rtems_task instead of void for task functions. * Add missing stack size parameter in task creation. * Use rtems_interrupt_level instead of undefined rtems_interrupt. * Correct return value format for rtems_object_id_get_api() rtems_object_id_get_index() (enum and uint16_t) and also fix corresponding print formatting. * Correct return value documentation for rtems_object_id_get_class(), rtems_object_id_get_node() and rtems_object_id_get_index() int -> uint32_t. * Use RTEMS_SUCCESSFUL instead of undefined RTEMS_STATUS_SUCCESSFUL and fix return value variable name in rate monotonic examples. * Use RTEMS_TIMEOUT instead of undefined TIMEOUT and RTEMS_PERIOD_STATUS instead of undefined STATUS. * Add missing fields to ftpd configuration. * Correct parameter types in ftpd hook prototype, unsigned char * -> void *. * Fix various code-block:: attributes, c -> makefile and c -> shell. * Add missing parenthesis in socket buffer memory calculation example. * Remove typedef in declaration of mq_attr since it is defiend without typedef in reality. * Update siginfo_t declaration to match current reality. * Update shell user command definition example to include mode, uid and gid.
1217 lines
30 KiB
ReStructuredText
1217 lines
30 KiB
ReStructuredText
.. SPDX-License-Identifier: CC-BY-SA-4.0
|
|
|
|
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
|
|
|
|
General Commands
|
|
****************
|
|
|
|
Introduction
|
|
============
|
|
|
|
The RTEMS shell has the following general commands:
|
|
|
|
- help_ - Print command help
|
|
|
|
- alias_ - Add alias for an existing command
|
|
|
|
- cmdls_ - List commands
|
|
|
|
- cmdchown_ - Change user or owner of commands
|
|
|
|
- cmdchmod_ - Change mode of commands
|
|
|
|
- date_ - Print or set current date and time
|
|
|
|
- echo_ - Produce message in a shell script
|
|
|
|
- sleep_ - Delay for a specified amount of time
|
|
|
|
- id_ - show uid gid euid and egid
|
|
|
|
- tty_ - show ttyname
|
|
|
|
- whoami_ - print effective user id
|
|
|
|
- getenv_ - print environment variable
|
|
|
|
- setenv_ - set environment variable
|
|
|
|
- unsetenv_ - unset environment variable
|
|
|
|
- time_ - time command execution
|
|
|
|
- logoff_ - logoff from the system
|
|
|
|
- rtc_ - RTC driver configuration
|
|
|
|
- exit_ - alias for logoff command
|
|
|
|
Commands
|
|
========
|
|
|
|
This section details the General Commands available. A subsection is dedicated
|
|
to each of the commands and describes the behavior and configuration of that
|
|
command as well as providing an example usage.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _help:
|
|
|
|
help - Print command help
|
|
-------------------------
|
|
.. index:: help
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
help misc
|
|
|
|
DESCRIPTION:
|
|
This command prints the command help. Help without arguments prints a list
|
|
of topics and help with a topic prints the help for that topic.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0.
|
|
|
|
NOTES:
|
|
The help print will break the output up based on the environment variable
|
|
SHELL_LINES. If this environment variable is not set the default is 16
|
|
lines. If set the number of lines is set to that the value. If the shell
|
|
lines is set 0 there will be no break.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``alias``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ help
|
|
help: ('r' repeat last cmd - 'e' edit last cmd)
|
|
TOPIC? The topics are
|
|
mem, misc, files, help, rtems, network, monitor
|
|
SHLL [/] $ help misc
|
|
help: list for the topic 'misc'
|
|
alias - alias old new
|
|
time - time command [arguments...]
|
|
joel - joel [args] SCRIPT
|
|
date - date [YYYY-MM-DD HH:MM:SS]
|
|
echo - echo [args]
|
|
sleep - sleep seconds [nanoseconds]
|
|
id - show uid, gid, euid, and egid
|
|
tty - show ttyname
|
|
whoami - show current user
|
|
logoff - logoff from the system
|
|
setenv - setenv [var] [string]
|
|
getenv - getenv [var]
|
|
unsetenv - unsetenv [var]
|
|
umask - umask [new_umask]
|
|
Press any key to continue...
|
|
rtc - real time clock read and set
|
|
SHLL [/] $ setenv SHELL_ENV 0
|
|
SHLL [/] $ help misc
|
|
help: list for the topic 'misc'
|
|
alias - alias old new
|
|
time - time command [arguments...]
|
|
joel - joel [args] SCRIPT
|
|
date - date [YYYY-MM-DD HH:MM:SS]
|
|
echo - echo [args]
|
|
sleep - sleep seconds [nanoseconds]
|
|
id - show uid, gid, euid, and egid
|
|
tty - show ttyname
|
|
whoami - show current user
|
|
logoff - logoff from the system
|
|
setenv - setenv [var] [string]
|
|
getenv - getenv [var]
|
|
unsetenv - unsetenv [var]
|
|
umask - umask [new_umask]
|
|
rtc - real time clock read and set
|
|
|
|
CONFIGURATION:
|
|
This command has no configuration.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _alias:
|
|
|
|
alias - add alias for an existing command
|
|
-----------------------------------------
|
|
.. index:: alias
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
alias oldCommand newCommand
|
|
|
|
DESCRIPTION:
|
|
This command adds an alternate name for an existing command to the command
|
|
set.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
None.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``alias``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ me
|
|
shell:me command not found
|
|
SHLL [/] $ alias whoami me
|
|
SHLL [/] $ me
|
|
rtems
|
|
SHLL [/] $ whoami
|
|
rtems
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_ALIAS
|
|
.. index:: CONFIGURE_SHELL_COMMAND_ALIAS
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_ALIAS`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_ALIAS`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_alias
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``alias`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_alias(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``alias`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_ALIAS_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _cmdls:
|
|
|
|
cmdls - List commands
|
|
---------------------
|
|
.. index:: cmdls
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
cmdls COMMAND...
|
|
|
|
DESCRIPTION:
|
|
This command lists the visible commands of the command set.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
The current user must have read permission to list a command.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``cmdls``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] # cmdls help shutdown
|
|
r-xr-xr-x 0 0 help
|
|
r-x------ 0 0 shutdown
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_CMDLS
|
|
.. index:: CONFIGURE_SHELL_COMMAND_CMDLS
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_CMDLS`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_CMDLS`` when all shell commands have been
|
|
configured.
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The configuration structure for the ``cmdls`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_CMDLS_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _cmdchown:
|
|
|
|
cmdchown - Change user or owner of commands
|
|
-------------------------------------------
|
|
.. index:: cmdchown
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
cmdchown [OWNER][:[GROUP]] COMMAND...
|
|
|
|
DESCRIPTION:
|
|
This command changes the user or owner of a command.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
The current user must have an UID of zero or be the command owner to change
|
|
the owner or group.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``cmdchown``:
|
|
|
|
.. code-block:: shell
|
|
|
|
[/] # cmdls help
|
|
r-xr-xr-x 0 0 help
|
|
[/] # cmdchown 1:1 help
|
|
[/] # cmdls help
|
|
r--r--r-- 1 1 help
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_CMDCHOWN
|
|
.. index:: CONFIGURE_SHELL_COMMAND_CMDCHOWN
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_CMDCHOWN`` to have
|
|
this command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_CMDCHOWN`` when all shell commands have been
|
|
configured.
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The configuration structure for the ``cmdchown`` has the following
|
|
prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_CMDCHOWN_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _cmdchmod:
|
|
|
|
cmdchmod - Change mode of commands
|
|
----------------------------------
|
|
.. index:: cmdchmod
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
cmdchmod OCTAL-MODE COMMAND...
|
|
|
|
DESCRIPTION:
|
|
This command changes the mode of a command.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
The current user must have an UID of zero or be the command owner to change
|
|
the mode.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``cmdchmod``:
|
|
|
|
.. code-block:: shell
|
|
|
|
[/] # cmdls help
|
|
r-xr-xr-x 0 0 help
|
|
[/] # cmdchmod 544 help
|
|
[/] # cmdls help
|
|
r-xr--r-- 0 0 help
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_CMDCHMOD
|
|
.. index:: CONFIGURE_SHELL_COMMAND_CMDCHMOD
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_CMDCHMOD`` to have
|
|
this command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_CMDCHMOD`` when all shell commands have been
|
|
configured.
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The configuration structure for the ``cmdchmod`` has the following
|
|
prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_CMDCHMOD_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _date:
|
|
|
|
date - print or set current date and time
|
|
-----------------------------------------
|
|
.. index:: date
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
date
|
|
date DATE TIME
|
|
|
|
DESCRIPTION:
|
|
This command operates one of two modes. When invoked with no arguments, it
|
|
prints the current date and time. When invoked with both ``date`` and
|
|
``time`` arguments, it sets the current time.
|
|
|
|
The ``date`` is specified in ``YYYY-MM-DD`` format.
|
|
The ``time`` is specified in ``HH:MM:SS`` format.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
None.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``date``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ date
|
|
Fri Jan 1 00:00:09 1988
|
|
SHLL [/] $ date 2008-02-29 06:45:32
|
|
SHLL [/] $ date
|
|
Fri Feb 29 06:45:35 2008
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_DATE
|
|
.. index:: CONFIGURE_SHELL_COMMAND_DATE
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_DATE`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_DATE`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_date
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``date`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_date(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``date`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_DATE_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _echo:
|
|
|
|
echo - produce message in a shell script
|
|
----------------------------------------
|
|
.. index:: echo
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
echo [-n | -e] args ...
|
|
|
|
DESCRIPTION:
|
|
Echo prints its arguments on the standard output, separated by spaces.
|
|
Unless the *-n* option is present, a newline is output following the
|
|
arguments. The *-e* option causes echo to treat the escape sequences
|
|
specially, as described in the following paragraph. The *-e* option is the
|
|
default, and is provided solely for compatibility with other systems. Only
|
|
one of the options *-n* and *-e* may be given.
|
|
|
|
If any of the following sequences of characters is encountered during
|
|
output, the sequence is not output. Instead, the specified action is
|
|
performed:
|
|
|
|
*\b*
|
|
A backspace character is output.
|
|
|
|
*\c*
|
|
Subsequent output is suppressed. This is normally used at the end of
|
|
the last argument to suppress the trailing newline that echo would
|
|
otherwise output.
|
|
|
|
*\f*
|
|
Output a form feed.
|
|
|
|
*\n*
|
|
Output a newline character.
|
|
|
|
*\r*
|
|
Output a carriage return.
|
|
|
|
*\t*
|
|
Output a (horizontal) tab character.
|
|
|
|
*\v*
|
|
Output a vertical tab.
|
|
|
|
*\0digits*
|
|
Output the character whose value is given by zero to three digits. If
|
|
there are zero digits, a nul character is output.
|
|
|
|
*\\*
|
|
Output a backslash.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
The octal character escape mechanism (\0digits) differs from the C language
|
|
mechanism.
|
|
|
|
There is no way to force ``echo`` to treat its arguments literally, rather
|
|
than interpreting them as options and escape sequences.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``echo``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ echo a b c
|
|
a b c
|
|
SHLL [/] $ echo
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_ECHO
|
|
.. index:: CONFIGURE_SHELL_COMMAND_ECHO
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_ECHO`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_ECHO`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_echo
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``echo`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_echo(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``echo`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_ECHO_Command;
|
|
|
|
ORIGIN:
|
|
The implementation and portions of the documentation for this command are
|
|
from NetBSD 4.0.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _sleep:
|
|
|
|
sleep - delay for a specified amount of time
|
|
--------------------------------------------
|
|
.. index:: sleep
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
sleep seconds
|
|
sleep seconds nanoseconds
|
|
|
|
DESCRIPTION:
|
|
This command causes the task executing the shell to block for the specified
|
|
number of ``seconds`` and ``nanoseconds``.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
This command is implemented using the ``nanosleep()`` method.
|
|
|
|
The command line interface is similar to the ``sleep`` command found on
|
|
POSIX systems but the addition of the ``nanoseconds`` parameter allows fine
|
|
grained delays in shell scripts without adding another command such as
|
|
``usleep``.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``sleep``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ sleep 10
|
|
SHLL [/] $ sleep 0 5000000
|
|
|
|
It is not clear from the above but there is a ten second pause after
|
|
executing the first command before the prompt is printed. The second
|
|
command completes very quickly from a human perspective and there is no
|
|
noticeable delay in the prompt being printed.
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_SLEEP
|
|
.. index:: CONFIGURE_SHELL_COMMAND_SLEEP
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_SLEEP`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_SLEEP`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_sleep
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``sleep`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_sleep(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``sleep`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_SLEEP_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _id:
|
|
|
|
id - show uid gid euid and egid
|
|
-------------------------------
|
|
.. index:: id
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
id
|
|
|
|
DESCRIPTION:
|
|
This command prints the user identity. This includes the user id (uid),
|
|
group id (gid), effective user id (euid), and effective group id (egid).
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
Remember there is only one POSIX process in a single processor RTEMS
|
|
application. Each thread may have its own user identity and that identity
|
|
is used by the filesystem to enforce permissions.
|
|
|
|
EXAMPLES:
|
|
The first example of the ``id`` command is from a session logged
|
|
in as the normal user ``rtems``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] # id
|
|
uid=1(rtems),gid=1(rtems),euid=1(rtems),egid=1(rtems)
|
|
|
|
The second example of the ``id`` command is from a session logged in as the
|
|
``root`` user:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] # id
|
|
uid=0(root),gid=0(root),euid=0(root),egid=0(root)
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_ID
|
|
.. index:: CONFIGURE_SHELL_COMMAND_ID
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_ID`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_ID`` when all shell commands have been configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_id
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``id`` is implemented by a C language function which has the following
|
|
prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_id(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``id`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_ID_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _tty:
|
|
|
|
tty - show ttyname
|
|
------------------
|
|
.. index:: tty
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
tty
|
|
|
|
DESCRIPTION:
|
|
This command prints the file name of the device connected to standard
|
|
input.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
NONE
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``tty``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ tty
|
|
/dev/console
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_TTY
|
|
.. index:: CONFIGURE_SHELL_COMMAND_TTY
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_TTY`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_TTY`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_tty
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``tty`` is implemented by a C language function which has the following
|
|
prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_tty(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``tty`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_TTY_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _whoami:
|
|
|
|
whoami - print effective user id
|
|
--------------------------------
|
|
.. index:: whoami
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
whoami
|
|
|
|
DESCRIPTION:
|
|
This command displays the user name associated with the current effective
|
|
user
|
|
id.
|
|
|
|
EXIT STATUS:
|
|
This command always succeeds.
|
|
|
|
NOTES:
|
|
None.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``whoami``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ whoami
|
|
rtems
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_WHOAMI
|
|
.. index:: CONFIGURE_SHELL_COMMAND_WHOAMI
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_WHOAMI`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_WHOAMI`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_whoami
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``whoami`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_whoami(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``whoami`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_WHOAMI_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _getenv:
|
|
|
|
getenv - print environment variable
|
|
-----------------------------------
|
|
.. index:: getenv
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
getenv variable
|
|
|
|
DESCRIPTION:
|
|
This command is used to display the value of a ``variable`` in the set of
|
|
environment variables.
|
|
|
|
EXIT STATUS:
|
|
This command will return 1 and print a diagnostic message if a failure
|
|
occurs.
|
|
|
|
NOTES:
|
|
The entire RTEMS application shares a single set of environment variables.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``getenv``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ getenv BASEPATH
|
|
/mnt/hda1
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_GETENV
|
|
.. index:: CONFIGURE_SHELL_COMMAND_GETENV
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_GETENV`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_GETENV`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_getenv
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``getenv`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_getenv(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``getenv`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_GETENV_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _setenv:
|
|
|
|
setenv - set environment variable
|
|
---------------------------------
|
|
.. index:: setenv
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
setenv variable [value]
|
|
|
|
DESCRIPTION:
|
|
This command is used to add a new ``variable`` to the set of environment
|
|
variables or to modify the variable of an already existing ``variable``.
|
|
If the ``value`` is not provided, the ``variable`` will be set to the empty
|
|
string.
|
|
|
|
EXIT STATUS:
|
|
This command will return 1 and print a diagnostic message if a failure
|
|
occurs.
|
|
|
|
NOTES:
|
|
The entire RTEMS application shares a single set of environment variables.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``setenv``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ setenv BASEPATH /mnt/hda1
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_SETENV
|
|
.. index:: CONFIGURE_SHELL_COMMAND_SETENV
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_SETENV`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_SETENV`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_setenv
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``setenv`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_setenv(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``setenv`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_SETENV_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _unsetenv:
|
|
|
|
unsetenv - unset environment variable
|
|
-------------------------------------
|
|
.. index:: unsetenv
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
unsetenv variable
|
|
|
|
DESCRIPTION:
|
|
This command is remove to a ``variable`` from the set of environment
|
|
variables.
|
|
|
|
EXIT STATUS:
|
|
This command will return 1 and print a diagnostic message if a failure
|
|
occurs.
|
|
|
|
NOTES:
|
|
The entire RTEMS application shares a single set of environment variables.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``unsetenv``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ unsetenv BASEPATH
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_UNSETENV
|
|
.. index:: CONFIGURE_SHELL_COMMAND_UNSETENV
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_UNSETENV`` to have
|
|
this command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_UNSETENV`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_unsetenv
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``unsetenv`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_unsetenv(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``unsetenv`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_UNSETENV_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _time:
|
|
|
|
time - time command execution
|
|
-----------------------------
|
|
.. index:: time
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
time command [argument ...]
|
|
|
|
DESCRIPTION:
|
|
The time command executes and times a command. After the command finishes,
|
|
time writes the total time elapsed. Times are reported in seconds.
|
|
|
|
EXIT STATUS:
|
|
This command returns 0 on success and non-zero if an error is encountered.
|
|
|
|
NOTES:
|
|
None.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``time``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ time cp -r /nfs/directory /c
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_TIME
|
|
.. index:: CONFIGURE_SHELL_COMMAND_TIME
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_TIME`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_TIME`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_time
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``time`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_time(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``time`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_TIME_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _logoff:
|
|
|
|
logoff - logoff from the system
|
|
-------------------------------
|
|
.. index:: logoff
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
logoff
|
|
|
|
DESCRIPTION:
|
|
This command logs the user out of the shell.
|
|
|
|
EXIT STATUS:
|
|
This command does not return.
|
|
|
|
NOTES:
|
|
The system behavior when the shell is exited depends upon how the shell was
|
|
initiated. The typical behavior is that a login prompt will be displayed
|
|
for the next login attempt or that the connection will be dropped by the
|
|
RTEMS system.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``logoff``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ logoff
|
|
logoff from the system...
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_LOGOFF
|
|
.. index:: CONFIGURE_SHELL_COMMAND_LOGOFF
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_LOGOFF`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_LOGOFF`` when all shell commands have been
|
|
configured.
|
|
|
|
.. index:: rtems_shell_rtems_main_logoff
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``logoff`` is implemented by a C language function which has the
|
|
following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
int rtems_shell_rtems_main_logoff(
|
|
int argc,
|
|
char **argv
|
|
);
|
|
|
|
The configuration structure for the ``logoff`` has the following prototype:
|
|
|
|
.. code-block:: c
|
|
|
|
extern rtems_shell_cmd_t rtems_shell_LOGOFF_Command;
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _rtc:
|
|
|
|
rtc - RTC driver configuration
|
|
------------------------------
|
|
.. index:: rtc
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
rtc
|
|
|
|
.. index:: CONFIGURE_SHELL_NO_COMMAND_RTC
|
|
.. index:: CONFIGURE_SHELL_COMMAND_RTC
|
|
|
|
CONFIGURATION:
|
|
This command is included in the default shell command set. When building a
|
|
custom command set, define ``CONFIGURE_SHELL_COMMAND_RTC`` to have this
|
|
command included.
|
|
|
|
This command can be excluded from the shell command set by defining
|
|
``CONFIGURE_SHELL_NO_COMMAND_RTC`` when all shell commands have been
|
|
configured.
|
|
|
|
.. raw:: latex
|
|
|
|
\clearpage
|
|
|
|
.. _exit:
|
|
|
|
exit - exit the shell
|
|
---------------------
|
|
.. index:: exit
|
|
|
|
SYNOPSYS:
|
|
.. code-block:: shell
|
|
|
|
exit
|
|
|
|
DESCRIPTION:
|
|
This command causes the shell interpreter to ``exit``.
|
|
|
|
EXIT STATUS:
|
|
This command does not return.
|
|
|
|
NOTES:
|
|
In contrast to `logoff - logoff from the system`, this command is built
|
|
into the shell interpreter loop.
|
|
|
|
EXAMPLES:
|
|
The following is an example of how to use ``exit``:
|
|
|
|
.. code-block:: shell
|
|
|
|
SHLL [/] $ exit
|
|
Shell exiting
|
|
|
|
CONFIGURATION:
|
|
This command is always present and cannot be disabled.
|
|
|
|
PROGRAMMING INFORMATION:
|
|
The ``exit`` is implemented directly in the shell interpreter. There is no
|
|
C routine associated with it.
|