Applications which subclass cmd2.Cmd
inherit a number of commands which may be useful to your users. Developers can features/builtin_commands:Remove Builtin Commands
if they do not want them to be part of the application.
This command manages aliases via subcommands create
, delete
, and list
. See features/shortcuts_aliases_macros:Aliases
for more information.
This command launches an editor program and instructs it to open the given file name. Here's an example:
(Cmd) edit ~/.ssh/config
The program to be launched is determined by the value of the features/settings:editor
setting.
This command lists available commands or provides detailed help for a specific command. When called with the -v/--verbose
argument, it shows a brief description of each command. See features/help:Help
for more information.
This command allows you to view, run, edit, save, or clear previously entered commands from the history. See features/history:History
for more information.
This optional opt-in command enters an interactive IPython shell. See features/embedded_python_shells:IPython (optional)
for more information.
This command manages macros via subcommands create
, delete
, and list
. A macro is similar to an alias, but it can contain argument placeholders. See features/shortcuts_aliases_macros:Macros
for more information.
This command invokes a Python command or shell. See features/embedded_python_shells:Embedded Python Shells
for more information.
This command exits the cmd2
application.
This command runs a Python script file inside the cmd2
application. See features/scripting:Python Scripts
for more information.
This command runs commands in a script file that is encoded as either ASCII or UTF-8 text. See features/scripting:Command Scripts
for more information.
This command is hidden from the help that's visible to end users. It runs a script like features/builtin_commands:run_script
but does so using a path relative to the script that is currently executing. This is useful when you have scripts that run other scripts. See features/scripting:Running
Command Scripts
for more information.
A list of all user-settable parameters, with brief comments, is viewable from within a running application:
(Cmd) set --verbose
allow_style: 'Terminal' # Allow ANSI text style sequences in output (valid values: Terminal, Always, Never)
always_show_hint: False # Display tab completion hint even when completion suggestions print
debug: True # Show full traceback on exception
echo: False # Echo command issued into output
editor: 'vi' # Program used by 'edit'
feedback_to_output: False # Include nonessentials in '|', '>' results
max_completion_items: 50 # Maximum number of CompletionItems to display during tab completion
quiet: False # Don't print nonessential feedback
timing: False # Report execution times
Any of these user-settable parameters can be set while running your app with the set
command like so:
(Cmd) set allow_style Never
See features/settings:Settings
for more information.
Execute a command as if at the operating system shell prompt:
(Cmd) shell pwd -P
/usr/local/bin
This command lists available shortcuts. See features/shortcuts_aliases_macros:Shortcuts
for more information.
Developers may not want to offer the commands builtin to cmd2.Cmd
to users of their application. To remove a command you must delete the method implementing that command from the cmd2.Cmd
object at runtime. For example, if you wanted to remove the features/builtin_commands:shell
command from your application:
class NoShellApp(cmd2.Cmd):
"""A simple cmd2 application."""
delattr(cmd2.Cmd, 'do_shell')