10. Execution
This section describes how to set up a Spring Shell to work in interactive mode.
10.1. Interaction Mode
Version 2.1.x introduced built-in support to distinguish between interactive and non-interactive modes. This makes it easier to use the shell as a simple command-line tool without requiring customization.
Currently, interactive mode is entered if any command line options are passed when starting or running a shell from a command line. This works especially well when a shell application is compiled with Native Support.
Some commands may not have any useful meanings when they run in interactive mode
or (conversely) in non-interactive mode. For example, a built-in exit
command would
have no meaning in non-interactive mode, because it is used to exit interactive mode.
The @ShellMethod
annotation has a field called interactionMode
that you can use to inform
shell about when a particular command is available.