summaryrefslogtreecommitdiffstats
path: root/third_party/rust/clap/examples/multicall-busybox.md
blob: a09418403f7e85f59debae0f5f0f5b247f5ead2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
*Jump to [source](multicall-busybox.rs)*

Example of a busybox-style multicall program

See the documentation for `clap::Command::multicall` for rationale.

This example omits every command except true and false,
which are the most trivial to implement,
```console
$ busybox true
? 0

$ busybox false
? 1

```
*Note: without the links setup, we can't demonstrate the multicall behavior*

But includes the `--install` option as an example of why it can be useful
for the main program to take arguments that aren't applet subcommands.
```console
$ busybox --install
? failed
...

```

Though users must pass something:
```console
$ busybox
? failed
busybox 

USAGE:
    busybox [OPTIONS] [APPLET]

OPTIONS:
    -h, --help                 Print help information
        --install <install>    Install hardlinks for all subcommands in path

APPLETS:
    false    does nothing unsuccessfully
    help     Print this message or the help of the given subcommand(s)
    true     does nothing successfully

```