
Text in command line flags referenced environment variables, moved that to subcommands to read correctly.
57 lines
1.4 KiB
Bash
57 lines
1.4 KiB
Bash
# To experiment with the command-line flags program it's
|
|
# best to first compile it and then run the resulting
|
|
# binary directly.
|
|
$ go build command-line-flags.go
|
|
|
|
# Try out the built program by first giving it values for
|
|
# all flags.
|
|
$ ./command-line-flags -word=opt -numb=7 -fork -svar=flag
|
|
word: opt
|
|
numb: 7
|
|
fork: true
|
|
svar: flag
|
|
tail: []
|
|
|
|
# Note that if you omit flags they automatically take
|
|
# their default values.
|
|
$ ./command-line-flags -word=opt
|
|
word: opt
|
|
numb: 42
|
|
fork: false
|
|
svar: bar
|
|
tail: []
|
|
|
|
# Trailing positional arguments can be provided after
|
|
# any flags.
|
|
$ ./command-line-flags -word=opt a1 a2 a3
|
|
word: opt
|
|
...
|
|
tail: [a1 a2 a3]
|
|
|
|
# Note that the `flag` package requires all flags to
|
|
# appear before positional arguments (otherwise the flags
|
|
# will be interpreted as positional arguments).
|
|
$ ./command-line-flags -word=opt a1 a2 a3 -numb=7
|
|
word: opt
|
|
numb: 42
|
|
fork: false
|
|
svar: bar
|
|
tail: [a1 a2 a3 -numb=7]
|
|
|
|
# Use `-h` or `--help` flags to get automatically
|
|
# generated help text for the command-line program.
|
|
$ ./command-line-flags -h
|
|
Usage of ./command-line-flags:
|
|
-fork=false: a bool
|
|
-numb=42: an int
|
|
-svar="bar": a string var
|
|
-word="foo": a string
|
|
|
|
# If you provide a flag that wasn't specified to the
|
|
# `flag` package, the program will print an error message
|
|
# and show the help text again.
|
|
$ ./command-line-flags -wat
|
|
flag provided but not defined: -wat
|
|
Usage of ./command-line-flags:
|
|
...
|