Version: 0.22.0
The Bench CLI allows to interact with a Bench environment on the command line.
It supports a hierarchy of sub-commands with flags and options, which can be specified as command line arguments.
Additionally it supports an interactive mode when called without a sub-command specified.
Help texts can be displayed for each sub-command with the -? argument. The help texts can be printed in different formats.
Take a look at the project website for a description of the Bench system.
Commands
-
bench -
benchapp -
benchappactivate -
benchappdeactivate -
benchappdownload -
benchappexecute -
benchappinfo -
benchappinstall -
benchapplist-properties -
benchappproperty -
benchappreinstall -
benchappuninstall -
benchappupgrade -
benchdashboard -
benchhelp -
benchlist -
benchlistapplibs -
benchlistapps -
benchlistfiles -
benchmanage -
benchmanageconfig -
benchmanageconfigedit -
benchmanageconfigget -
benchmanageconfigset -
benchmanagedownloads -
benchmanageinitialize -
benchmanageload-app-libs -
benchmanagereinstall -
benchmanagerenew -
benchmanagesetup -
benchmanageupdate -
benchmanageupdate-env -
benchmanageupgrade -
benchproject -
benchsearch -
benchtransfer -
benchtransferclone -
benchtransferexport -
benchtransferinstall
bench
The bench command is the executable of the Bench CLI.
You can call it without a sub-command to enter the interactive mode.
Usage
bench( <flag> | <option>)*bench( <flag> | <option>)* <command> …
Help
Showing the help can be triggered by one of the following flags: /?, -?, -h, --help.
bench-?bench<command>-?
Flags
--verbose | -v
Activate verbose output.
--yes | --force | -y
Suppress all assurance questions.
Options
--help-format | -f <value>
Specify the output format of help texts.
Expected: Plain | Markdown
Default: Plain
--logfile | --log | -l <value>
Specify a custom location for the log file.
Expected: A path to the log file.
Default: Auto generated filename in <bench root>\log.
--root | --base | -r <value>
Specify the root directory of the Bench environment.
Expected: A path to a valid Bench root directory.
Default: The root directory of the Bench environment, this Bench CLI belongs to.
Commands
app, a
Manage individual apps.
Syntax: bench app <sub-command>
dashboard, gui, b
Start the Bench Dashboard.
help, h
Display the full help for all commands.
list, l
List different kinds of objects in the Bench environment.
manage, m
Manage the Bench environment and its configuration.
project, prj, p
Manage projects in the Bench environment.
Syntax: bench project
search, s
Searches for apps.
transfer, t
Copy or export this Bench environment.
bench app
Command: bench app
The app command allows interacting with Bench apps.
Use the sub-commands to select the kind of interaction.
Usage
benchapp-?bench( <flag> | <option>)*appbench( <flag> | <option>)*app<command> …
Commands
activate, enable, a
Activates an app.
Syntax: bench app activate <App ID>
deactivate, disable, d
Deactivates an app.
Syntax: bench app deactivate <App ID>
download, cache, c
Downloads an apps resource.
Syntax: bench app download <App ID>
execute, exec, launch, run, e
Starts an apps main executable.
Syntax: bench app execute <flag>* <App ID> …
info, i
Shows a detailed, human readable info of an app.
Syntax: bench app info <option>* <App ID>
install, setup, s
Installs an app, regardless of its activation state.
Syntax: bench app install <App ID>
list-properties, list, l
Lists the properties of an app.
Syntax: bench app list-properties ( <flag> | <option>)* <App ID>
property, prop, p
Reads an app property value.
Syntax: bench app property <App ID> <Property Name>
reinstall, r
Reinstalls an app.
Syntax: bench app reinstall <App ID>
uninstall, remove, x
Uninstalls an app, regardless of its activation state.
Syntax: bench app uninstall <App ID>
upgrade, u
Upgrades an app.
Syntax: bench app upgrade <App ID>
bench app activate
Command: bench app activate
The activate command marks an app as activated.
To actually install the app, you have to run the setup command.
If the app is currently active as a dependency, it is marked as activated anyways. If the app is required by Bench, it is not marked as activated. If the app is marked as deactivated, this mark is removed.
Usage
benchappactivate-?bench( <flag> | <option>)*appactivate<App ID>
Positional Arguments
1. App ID
Specifies the app to activate.
Expected: An app ID is an alphanumeric string without whitespace.
bench app deactivate
Command: bench app deactivate
The deactivate command removes an app from the activation list or marks it as deactivated.
To actually uninstall the app, you have to run the setup command.
If the app is currently on the activation list, it is removed from it. If the app is required by Bench, or as a dependency, it is marked as deactivated.
Usage
benchappdeactivate-?bench( <flag> | <option>)*appdeactivate<App ID>
Positional Arguments
1. App ID
Specifies the app to deactivate.
Expected: An app ID is an alphanumeric string without whitespace.
bench app download
Command: bench app download
The download command downloads the app resources, in case it is not cached already.
Usage
benchappdownload-?bench( <flag> | <option>)*appdownload<App ID>
Positional Arguments
1. App ID
Specifies the app to download the resource for.
Expected: An app ID is an alphanumeric string without whitespace.
bench app execute
Command: bench app execute
The execute command starts the main executable of the specified app.
Usage
benchappexecute-?bench( <flag> | <option>)*appexecute<flag>* <App ID> …
Flags
--detached | --async | -d
Do not wait for the end of the process.
Positional Arguments
1. App ID
Specifies the app to execute.
Expected: An app ID is an alphanumeric string without whitespace.
Additional Arguments
All additonal arguments are passed as command line arguments to the executable.
bench app info
Command: bench app info
The info command displayes a detailed description for an app in human readable form.
Usage
benchappinfo-?bench( <flag> | <option>)*appinfo<option>* <App ID>
Options
--format | -f <value>
Specify the output format.
Expected: Plain | Markdown
Default: Plain
Positional Arguments
1. App ID
Specifies the app to display the description for.
Expected: An app ID is an alphanumeric string without whitespace.
bench app install
Command: bench app install
The install command installes the specified app, regardless of its activation state.
Missing app resources are downloaded automatically.
Usage
benchappinstall-?bench( <flag> | <option>)*appinstall<App ID>
Positional Arguments
1. App ID
Specifies the app to install.
Expected: An app ID is an alphanumeric string without whitespace.
bench app list-properties
Command: bench app list-properties
The list-properties command displayes the properties of an app.
This command supports different output formats. And you can choose between the expanded or the raw properties.
Usage
benchapplist-properties-?bench( <flag> | <option>)*applist-properties( <flag> | <option>)* <App ID>
Flags
--raw | -r
Shows the raw properties without expansion and default values.
Options
--format | -f <value>
Specify the output format.
Expected: Plain | Markdown
Default: Plain
Positional Arguments
1. App ID
Specifies the app of which the properties are to be listed.
Expected: The apps ID, an alphanumeric string without whitespace.
bench app property
Command: bench app property
The property command reads the value of an app property.
Usage
benchappproperty-?bench( <flag> | <option>)*appproperty<App ID> <Property Name>
Positional Arguments
1. App ID
Specifies the app to get the property from.
Expected: The apps ID, an alphanumeric string without whitespace.
2. Property Name
Specifies the property to read.
Expected: The property name, an alphanumeric string without whitespace.
bench app reinstall
Command: bench app reinstall
The reinstall command reinstalles the specified app.
Usage
benchappreinstall-?bench( <flag> | <option>)*appreinstall<App ID>
Positional Arguments
1. App ID
Specifies the app to reinstall.
Expected: An app ID is an alphanumeric string without whitespace.
bench app uninstall
Command: bench app uninstall
The uninstall command uninstalles the specified app, regardless of its activation state.
Usage
benchappuninstall-?bench( <flag> | <option>)*appuninstall<App ID>
Positional Arguments
1. App ID
Specifies the app to install.
Expected: An app ID is an alphanumeric string without whitespace.
bench app upgrade
Command: bench app upgrade
The upgrade command upgrades the specified app to the most current release.
Updates app resources are downloaded automatically.
Usage
benchappupgrade-?bench( <flag> | <option>)*appupgrade<App ID>
Positional Arguments
1. App ID
Specifies the app to upgrade.
Expected: An app ID is an alphanumeric string without whitespace.
bench dashboard
Command: bench dashboard
The dashboard command starts the graphical user interface Bench Dashboard.
Usage
benchdashboard-?bench( <flag> | <option>)*dashboard
bench help
Command: bench help
The help command displays the full help for all commands.
Usage
benchhelp-?bench( <flag> | <option>)*help( <flag> | <option>)*
Flags
--append | -a
Append to an existing file, in case a target file is specified.
--no-index | -i
Suppress the index of the commands.
--no-title | -t
Suppress the output of the tool name as the document title.
--no-version | -v
Suppress the output of the tool version number.
Options
--target-file | --out | -o <value>
Specifies a target file to write the help content to.
Expected: A path to a writable file. The target file will be created or overridden.
Default: None
bench list
Command: bench list
The list command lists different kinds of objects from the Bench environment.
Choose a sub-command to specify the kind of object, you want to list.
Usage
benchlist-?bench( <flag> | <option>)*list( <flag> | <option>)*bench( <flag> | <option>)*list( <flag> | <option>)* <command> …
Flags
--table | -t
Prints properties of the listed objects as a table. Otherwise only a short form is printed.
Options
--format | -f <value>
Specifies the output format of the listed data.
Expected: Plain | Markdown
Default: Plain
Commands
applibs, l
List app libraries with ID and URL.
apps, a
List apps from the app library.
files, f
List configuration and app library index files.
bench list applibs
Command: bench list applibs
The applibs command lists all loaded app libraries.
Usage
benchlistapplibs-?bench( <flag> | <option>)*list( <flag> | <option>)*applibs
bench list apps
Command: bench list apps
The apps command lists apps from the app library.
You can specify the base set of apps and filter the apps to list.
Usage
benchlistapps-?bench( <flag> | <option>)*list( <flag> | <option>)*apps<option>*
Options
--filter | -f <value>
Specifies a filter to reduce the number of listed apps.
Expected: A comma separated list of criteria. E.g. ID=JDK*,!IsInstalled,IsCached.
Default: no filter
--properties | -p <value>
Specifies the properties to display in the listed output. This option only has an effect, if the flag list --table is set.
Expected: A comma separated list of property names.
--set | -s <value>
Specifies the set of apps to list.
Expected: All | Active | NotActive | Activated | Deactivated | NotSupported | Installed | NotInstalled | Cached | NotCached | DefaultApps | Groups | MetaApps | ManagedPackages | ManagedPackagesFromRemote
Default: All
--sort-by | -o <value>
Specifies a property to sort the apps by.
Expected: The name of an app property.
Default: ID
bench list files
Command: bench list files
The files command lists the paths of all loaded configuration files.
Usage
benchlistfiles-?bench( <flag> | <option>)*list( <flag> | <option>)*files<option>*
Options
--type | -t <value>
Specify the type of files to show.
Expected: BenchConfig | UserConfig | SiteConfig | Config | BenchAppLib | UserAppLib | AppLib | Activation | Deactivation | AppSelection | All
Default: All
bench manage
Command: bench manage
The manage command manages the Bench environment via a number of sub-commands.
Usage
benchmanage-?bench( <flag> | <option>)*managebench( <flag> | <option>)*manage<command> …
Commands
config, cfg, c
Read or write values from the user configuration.
Syntax: bench manage config <sub-command>
initialize, init, i
Initialize the Bench configuration and start the setup process.
load-app-libs, l
Load the latest app libraries.
Syntax: bench manage load-app-libs <flag>*
reinstall, r
Remove all installed apps, then install all active apps.
renew, n
Redownload all app resources, remove all installed apps, then install all active apps.
setup, s
Run the auto-setup for the active Bench apps.
update, u
Update the app libraries and upgrades all apps.
update-env, e
Update the paths in the Bench environment.
upgrade, g
Download and extract the latest Bench release, then run the auto-setup.
bench manage config
Command: bench manage config
The config command gives access to the Bench user configuration.
Usage
benchmanageconfig-?bench( <flag> | <option>)*manageconfigbench( <flag> | <option>)*manageconfig<command> …
Commands
edit, e
Opens the user configuration in the default Markdown editor.
Syntax: bench manage config edit <flag>*
get, read, g
Reads a configuration value.
Syntax: bench manage config get <Property Name>
set, write, s
Writes a configuration value.
Syntax: bench manage config set <Property Name> <New Value>
bench manage config edit
Command: bench manage config edit
The edit command opens the user configuration in the default Markdown editor.
Usage
benchmanageconfigedit-?bench( <flag> | <option>)*manageconfigedit<flag>*
Flags
--detached | --async | -d
Do not wait for the editor to be closed.
bench manage config get
Command: bench manage config get
The get command reads a configuration value.
Usage
benchmanageconfigget-?bench( <flag> | <option>)*manageconfigget<Property Name>
Positional Arguments
1. Property Name
The name of the configuration property to read.
bench manage config set
Command: bench manage config set
The set command writes a configuration value to the user configuration file.
Usage
benchmanageconfigset-?bench( <flag> | <option>)*manageconfigset<Property Name> <New Value>
Positional Arguments
1. Property Name
The name of the configuration property to write.
2. New Value
The new value for the configuration property.
bench manage downloads
Command: bench manage downloads
The downloads command manages the cached app resources.
Usage
benchmanagedownloads-?bench( <flag> | <option>)*managedownloadsbench( <flag> | <option>)*managedownloads<command> …
Commands
clean, cl, c
Deletes obsolete app resources.
download, dl, d
Downloads the app resources for all active apps.
purge, x
Deletes all cached app resources.
bench manage initialize
Command: bench manage initialize
The initialize command initializes the Bench configuration and starts the setup process.
Usage
benchmanageinitialize-?bench( <flag> | <option>)*manageinitialize
bench manage load-app-libs
Command: bench manage load-app-libs
The load-app-libs command loads missing app libraries.
Usage
benchmanageload-app-libs-?bench( <flag> | <option>)*manageload-app-libs<flag>*
Flags
--update | -u
Clears the cache and loads the latest version of all app libraries.
bench manage reinstall
Command: bench manage reinstall
The reinstall command removes all installed apps, then installs all active apps.
Usage
benchmanagereinstall-?bench( <flag> | <option>)*managereinstall
bench manage renew
Command: bench manage renew
The renew command redownloads all app resources, removes all installed apps, then installs all active apps.
Usage
benchmanagerenew-?bench( <flag> | <option>)*managerenew
bench manage setup
Command: bench manage setup
The setup command runs the auto-setup for the active Bench apps.
Usage
benchmanagesetup-?bench( <flag> | <option>)*managesetup
bench manage update
Command: bench manage update
The update command updates the app libraries and upgrades all apps.
Usage
benchmanageupdate-?bench( <flag> | <option>)*manageupdate
bench manage update-env
Command: bench manage update-env
The update-env command updates the paths in the Bench environment.
Usage
benchmanageupdate-env-?bench( <flag> | <option>)*manageupdate-env
bench manage upgrade
Command: bench manage upgrade
The upgrade command checks if a new version of Bench is available and installs it.
Usage
benchmanageupgrade-?bench( <flag> | <option>)*manageupgrade
bench project
Command: bench project
The project command allows you to perform certain tasks on projects in the Bench environment.
WARNING: This command is not implemented yet.
Usage
benchproject-?bench( <flag> | <option>)*project
bench search
Command: bench search
The search command searches for apps in the Bench environment.
Choose a sub-command to specify the kind of object, you want to list.
Usage
benchsearch-?bench( <flag> | <option>)*search( <flag> | <option>)* …
Flags
--table | -t
Prints the search result as a table. Otherwise only the IDs of found apps are printed.
Options
--format | -f <value>
Specifies the output format of the listed data.
Expected: Plain | Markdown
Default: Plain
Additional Arguments
All additional arguments are used as search keywords.
bench transfer
Command: bench transfer
The transfer command supports different kinds of a copying the whole Bench environment.
Usage
benchtransfer-?bench( <flag> | <option>)*transferbench( <flag> | <option>)*transfer<command> …
Commands
clone, c
Copy this Bench environment to a different place.
export, e
Create a transfer package of this Bench environment
Syntax: bench transfer export <option>* <target-file>
install, i
Install a Bench environment from an extracted Bench transfer package
Syntax: bench transfer install ( <flag> | <option>)*
bench transfer clone
Command: bench transfer clone
The clone command creates and initializes a clone of this Bench environment in a different location.
Usage
benchtransferclone-?bench( <flag> | <option>)*transferclone<option>* <target-dir>
Options
--include | -i <value>
Specifies the content included in the export.
Expected: A comma separated list of the following keywords: SystemOnly, Config, Home, Projects, AppLibs, RequiredCache, Cache, RequiredApps, Apps, All
Default: Config,AppLibs,Cache
Positional Arguments
1. target-dir
The target directory for the clone.
Expected: A path to a directory. The directory must not exist yet.
bench transfer export
Command: bench transfer export
The export command creates a transfer package of this Bench environment.
Usage
benchtransferexport-?bench( <flag> | <option>)*transferexport<option>* <target-file>
Options
--include | -i <value>
Specifies the content included in the export.
Expected: A comma separated list of the following keywords: SystemOnly, Config, Home, Projects, AppLibs, RequiredCache, Cache, RequiredApps, Apps, All
Default: Config,AppLibs
Positional Arguments
1. target-file
A path to the output file.
Expected: The filename can have one of the following extensions: .zip, .7z, .exe
bench transfer install
Command: bench transfer install
The install command installs a Bench environment from an extracted Bench transfer package.
Usage
benchtransferinstall-?bench( <flag> | <option>)*transferinstall( <flag> | <option>)*
Flags
--extract-only | --extract | --no-init | -e
Deactivates automatic initialization and setup after the transfer.
Options
--target-dir | --target | --dir | -d <value>
Specifies the target directory for the installation. If left empty, a directory browser will be displayed to choose the target directory.
Expected: A path to a directory. The directory must not exist yet.
