opsi-cli: Working faster with the Shell Completion

opsi-cli: Working faster with the Shell Completion

As announced in our previous blog post, we have released a new command line tool to work with opsi environments. opsi-cli is implemented in Python and available as part of opsi-utils >= 4.2.0.187 as well as opsi package in our public repositories .

opsi-cli offers a really cool autocompletion feature which I would like to introduce in this blog post. The goal is to make working with opsi-cli more smoothly—like in the shell, the autocompletion works for commands, subcommands, options, etc.

Download now

How to set up Shell Completion for opsi-cli

Shell completion is currently available for three different shells: Bash, ZSH, and Fish. Support for Windows PowerShell is still work in progress.

To set up opsi-cli shell completion, type this command:

opsi-cli self setup-shell-completion

The autocompletion files are now being integrated into the shell’s configuration file in your home directory. As a result, the feature is available in the active shell session and after starting a new login session. For more sophisticated setups, please use the opsi-cli self setup-shell-completion --help command.

Note

For the shell completion to work, please make sure that the opsi-cli executable is included in the PATH environment variable. This is automatically the case after you’ve installed the opsi package or opsi-utils (>= 4.2.0.187).

Features of opsi-cli Shell Completion

The opsi-cli autocompletion works just like traditional Unix shells’ tab completion. Type the first few characters of a command, subcommand, configuration item, option, file argument, or subcommand-specific argument. Pressing the [Tab] key completes the current item if it is unambiguous. Otherwise, you can type more characters and press [Tab] again to narrow down the list.

Pressing [Tab] [Tab] prints all available options or commands (depending on the context). This is how [Tab] [Tab] behaves in various situations:

  • After opsi-cli or any command that has at least one subcommand: shows a list of available (sub-)commands
  • After -: shows available options affecting the current command or the opsi-clitool itself
  • After a subcommand: shows possible values for arguments, depending on the subcommand:
    • For the set, show and unset subcommands of opsi-cli config it shows a list of all available configs to affect.
    • For opsi-cli jsonrpc execute it shows a list of available methods (filtered by a provided prefix).

Give it a try yourself. Working with the opsi-cli autocompletion is so much faster. If you have any questions, feel free to discuss them in our forum .

Visit our Forum

Related Posts

Remote Client Administration: An Introduction to Client Actions with _opsi-cli_

Remote Client Administration: An Introduction to Client Actions with opsi-cli

Perform simple admin actions using the `opsi-cli` command `client-action`. You can use it to explicitely set action requests and it will help you to automate recurring tasks of administration in your opsi environment.

Read More
New opsi Client Agents for Windows, Linux, and macOS

New opsi Client Agents for Windows, Linux, and macOS

Discover the latest opsi client agent version released in our testing branch. Explore their new features, changes in structure, and handling. Read on to find out how this new generation of client agents can enhance your experience with opsi.

Read More
New opsi Basic License: Paid Extensions now free for 30 Clients

New opsi Basic License: Paid Extensions now free for 30 Clients

Upgrade your opsi experience with our new Basic license! Enjoy free installation of almost all our paid extensions on up to 30 clients. This blog post offers a quick overview of the new opsi license.

Read More