.. comment SPDX-License-Identifier: CC-BY-SA-4.0 .. COMMENT: COPYRIGHT (c) 1988-2008. .. COMMENT: On-Line Applications Research Corporation (OAR). .. COMMENT: All rights reserved. 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:: c 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.