Command Arguments

Arguments are positional values provided after the command name. Use ArgsExact, ArgsMin, or ArgsMax. Access them via ctx.Args() or ctx.Arg(i).

Defining arguments

return command.New("greet", "Greet a user by name").
	ArgsExact(1).
	RunE(func(ctx *command.Ctx) error {
		name := ctx.Arg(0)
		fmt.Printf("Hello, %s!\n", name)
		return nil
	})

Argument validators

  • ArgsExact(n) — exactly n arguments
  • ArgsMin(n) — at least n arguments
  • ArgsMax(n) — at most n arguments

Accessing arguments

args := ctx.Args()       // []string
name := ctx.Arg(0)       // first arg, or "" if out of range