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

opsi-configed 4.3.6: A Big Step Forward

opsi-configed 4.3.6: A Big Step Forward

With the opsi-configed 4.3.6, the UI modernization reaches its final stage. New icons, better performance through parallelization, and an improved navigation ensure an optimized user experience. This release brings our opsi-configed up to date.

Read More
opsi Release scheduling strategy

opsi Release scheduling strategy

Have you ever wondered how and where we release new packages and their changelogs? This article has the answers!

Read More
opsi à la Carte: opsiconf 2024 in Mainz

opsi à la Carte: opsiconf 2024 in Mainz

On July 9th and 10th, 2024, the fourth opsiconf took place in Mainz. A report by Heike Jurzik.

Read More