From 0377bfda5d5eedb5a418784fa0dd9326fd11daca Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Wed, 19 Apr 2017 15:38:31 -0500 Subject: [PATCH] cmd/ctr: add quiet mode to `ctr list` This is so I can delete all the containers I keep creating. Signed-off-by: Stephen J Day --- cmd/ctr/list.go | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/cmd/ctr/list.go b/cmd/ctr/list.go index 597bb205b..f52dcf4fa 100644 --- a/cmd/ctr/list.go +++ b/cmd/ctr/list.go @@ -13,7 +13,14 @@ import ( var listCommand = cli.Command{ Name: "list", Usage: "list containers", + Flags: []cli.Flag{ + cli.BoolFlag{ + Name: "quiet, q", + Usage: "print only the container id", + }, + }, Action: func(context *cli.Context) error { + quiet := context.Bool("quiet") containers, err := getExecutionService(context) if err != nil { return err @@ -22,20 +29,28 @@ var listCommand = cli.Command{ if err != nil { return err } - w := tabwriter.NewWriter(os.Stdout, 10, 1, 3, ' ', 0) - fmt.Fprintln(w, "ID\tPID\tSTATUS") - for _, c := range response.Containers { - if _, err := fmt.Fprintf(w, "%s\t%d\t%s\n", - c.ID, - c.Pid, - c.Status.String(), - ); err != nil { - return err + + if quiet { + for _, c := range response.Containers { + fmt.Println(c.ID) } - if err := w.Flush(); err != nil { - return err + } else { + w := tabwriter.NewWriter(os.Stdout, 10, 1, 3, ' ', 0) + fmt.Fprintln(w, "ID\tPID\tSTATUS") + for _, c := range response.Containers { + if _, err := fmt.Fprintf(w, "%s\t%d\t%s\n", + c.ID, + c.Pid, + c.Status.String(), + ); err != nil { + return err + } + if err := w.Flush(); err != nil { + return err + } } } + return nil }, }