1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
Builtin Commands
================
Applications which subclass :class:`cmd2.Cmd` inherit a number of commands
which may be useful to your users. Developers can
:ref:`features/builtin_commands:Remove Builtin Commands` if they do not want
them to be part of the application.
List of Builtin Commands
------------------------
alias
~~~~~
This command manages aliases via subcommands ``create``, ``delete``, and
``list``. See :ref:`features/shortcuts_aliases_macros:Aliases` for more
information.
edit
~~~~
This command launches an editor program and instructs it to open the given file
name. Here's an example:
.. code-block:: text
(Cmd) edit ~/.ssh/config
The program to be launched is determined by the value of the
:ref:`features/settings:editor` setting.
help
~~~~
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 :ref:`features/help:Help` for more
information.
history
~~~~~~~
This command allows you to view, run, edit, save, or clear previously entered
commands from the history. See :ref:`features/history:History` for more
information.
ipy
~~~
This optional opt-in command enters an interactive IPython shell. See
:ref:`features/embedded_python_shells:IPython (optional)` for more information.
macro
~~~~~
This command manages macros via subcommands ``create``, ``delete``, and
``list``. A macro is similar to an alias, but it can contain argument
placeholders. See :ref:`features/shortcuts_aliases_macros:Macros` for more
information.
py
~~
This command invokes a Python command or shell. See
:ref:`features/embedded_python_shells:Embedded Python Shells` for more
information.
quit
~~~~
This command exits the ``cmd2`` application.
.. _feature-builtin-commands-run-pyscript:
run_pyscript
~~~~~~~~~~~~
This command runs a Python script file inside the ``cmd2`` application.
See :ref:`features/scripting:Python Scripts` for more information.
run_script
~~~~~~~~~~
This command runs commands in a script file that is encoded as either ASCII
or UTF-8 text. See :ref:`features/scripting:Command Scripts` for more
information.
_relative_run_script
~~~~~~~~~~~~~~~~~~~~
This command is hidden from the help that's visible to end users. It runs a
script like :ref:`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 :ref:`features/scripting:Running
Command Scripts` for more information.
set
~~~
A list of all user-settable parameters, with brief comments, is viewable from
within a running application:
.. code-block:: text
(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:
.. code-block:: text
(Cmd) set allow_style Never
See :ref:`features/settings:Settings` for more information.
shell
~~~~~
Execute a command as if at the operating system shell prompt:
.. code-block:: text
(Cmd) shell pwd -P
/usr/local/bin
shortcuts
~~~~~~~~~
This command lists available shortcuts. See
:ref:`features/shortcuts_aliases_macros:Shortcuts` for more information.
Remove Builtin Commands
-----------------------
Developers may not want to offer the commands builtin to :class:`cmd2.Cmd`
to users of their application. To remove a command you must delete the method
implementing that command from the :class:`cmd2.Cmd` object at runtime.
For example, if you wanted to remove the :ref:`features/builtin_commands:shell`
command from your application::
class NoShellApp(cmd2.Cmd):
"""A simple cmd2 application."""
delattr(cmd2.Cmd, 'do_shell')
|