Mercurial > libervia-backend
diff doc/libervia-cli/shell.rst @ 3488:c80a0f864b5d
doc: updated doc following global renaming
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 21 Mar 2021 18:23:58 +0100 |
parents | doc/jp/shell.rst@9464ad3b2ece |
children | 4705f80b6e23 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/libervia-cli/shell.rst Sun Mar 21 18:23:58 2021 +0100 @@ -0,0 +1,208 @@ +======================== +shell: use SàT with REPL +======================== + +``shell`` launch a read–eval–print loop (REPL) with some helpers to launch li commands. +This is useful if you are willing to a session when you'll use several commands in a row +(for e.g. to inspect something on a PubSub service). + +start the shell +=============== + +To start the shell, you just have to enter ``li shell``. You can eventually specify a +profile to use an other one than the default one by entering ``li shell -p +<some_profile>``. + + +.. _libervia-cli_shell_use: + +use the shell +============= + +Once in the shell, you can launch a command by entering it as usual (without having to +specify ``li``). For instance to get last 2 blog posts from your personal blog, you just +have to enter:: + + > blog get -m 2 + +There are 2 kinds of commands in the shell: + +- **shell commands** which are command to manipulate the shell itself +- **li commands** which are the classic commands that you use with li + +The most important thing to remember is that you can use ``?`` (or ``help`` which is +equivalent) to get the list of commands (shell + li), and ``?<command>`` (or ``help +<command>``) to get information on a shell command. For li commands, you can use the usual +``--help`` argument. + +You may move in the commands hierarchy using ``cmd`` which can be seen as something +roughly equivalent to ``cd`` for the filesystem. for instance if you know you'll work with +XMPP blogs, you can enter:: + + > cmd blog + +Then you'll be in the blog hierarchy, you can check that by entering ``?``. From there you +can use blog commands directly, like in this example to retrieve last 2 blog posts:: + + blog> get -m 2 + +You can even go further, e.g. if you know that you'll do several ``get`` command (in this +can you'll only have to specify the arguments of ``get``):: + + blob> cmd get + blog/get> -m 2 + +You can use ``/`` with ``cmd``, including as first character to indicate that you want to +start from root:: + + blog/get> cmd /pubsub + pubsub> cmd node/info + +Similarly, you can use ``..`` to move to parent command:: + + pubsub/node/info> cmd .. + +One of the interesting feature of shell is that you can fix an argument, i.e. indicate +the value to use in the next commands. For instance if you're willing to work on a +specific node, you can set its value with ``use``:: + + blog> use node some_interesting_node + +Then you won't have to specify it anymore for each command. The name of the argument to +fix must be the long form. To check which arguments are fixed, just enter ``use`` without +argument. If an argument is fixed but not used in a command, it will be ignored. + +To clear a fixed argument, you have the ``use_clear`` command. To clear the ``node`` +argument set above, just enter:: + + blog> use_clear node + +Without argument, all fixed arguments will be cleared. + + +Shell commands +============== + +Below is a description of shell commands. + + +cmd +--- + +Move in the command hierarchy, this avoid to type again a command if you know you'll use +it several times. See libervia-cli_shell_use_ for explanation and examples + +do +-- + +Launch a li command. By default the command is launched if you enter directly its name and +arguments, but if a command or argument conflict with a shell command, the shell command +will be launched instead. The ``do`` command avoid such a situation by always launching a +li command:: + + > do blog get -m 2 + +exit +---- + +Quit the shell (alias of ``quit``). + +help (alias ``?``) +------------------ + +Give information on available commands or on a specific command, see libervia-cli_shell_use_ for +more explanations. + +examples +^^^^^^^^ + +Get general help:: + + > ? + +Get help on ``do`` command:: + + > ?do + +quit +---- + +Quit the shell + +shell (alias ``!``) +------------------- + +Launch an external command. + +example +^^^^^^^ + +Print a calendar with ``cal``:: + + > !cal + +use +--- + +Fix the value of an argument, which will then be set for all following commands, see +libervia-cli_shell_use_ for more explanations. + +Without argument, show all fixed arguments + +examples +^^^^^^^^ + +Fix the PubSub node (the long name of the argument is used, so it will go to ``--node``):: + + pubsub> use node some_intersting_node + +Show all fixed arguments:: + + > use + +use_clear +--------- + +Unfix the value of an argument (i.e. use the normal default value). Without argument, +it unfixes all arguments. + +examples +^^^^^^^^ +Clear the node:: + + pubsub> use_clear node + +Clear all arguments:: + + > use_clear + +verbose +------- + +Without argument, show if verbose mode is activated. With an argument evaluating to a +boolean, activate or deactivate this mode. + +In verbose mode, the fixed arguments and the command launched are printed before launching +a li command. + +examples +^^^^^^^^ + +Show if verbose mode is activated:: + + > verbose + +Activate verbose mode:: + + > verbose on + +version +------- + +Print current version of li/Salut à Toi. + +whoami +------ + +Show the name of the connected profile (the one set with ``--profile`` when launching the +shell). This profile will be used as default profile.