diff --git a/cli/app/cmd.go b/cli/app/cmd.go index 9abbb036..a0e383f9 100644 --- a/cli/app/cmd.go +++ b/cli/app/cmd.go @@ -47,6 +47,7 @@ Example: internal.DebugFlag, internal.LocalCmdFlag, internal.RemoteUserFlag, + internal.TtyFlag, }, BashComplete: autocomplete.AppNameComplete, Before: internal.SubCommandBefore, @@ -236,6 +237,9 @@ func runCmdRemote(cl *dockerClient.Client, app config.App, abraSh, serviceName, execCreateOpts.Cmd = cmd execCreateOpts.Tty = true + if internal.Tty { + execCreateOpts.Tty = false + } if err := container.RunExec(dcli, cl, targetContainer.ID, &execCreateOpts); err != nil { return err diff --git a/cli/internal/cli.go b/cli/internal/cli.go index 10398484..d31228ce 100644 --- a/cli/internal/cli.go +++ b/cli/internal/cli.go @@ -58,6 +58,16 @@ var ChaosFlag = &cli.BoolFlag{ Destination: &Chaos, } +// Disable tty to run commands from script +var Tty bool + +// TtyFlag turns on/off tty mode. +var TtyFlag = &cli.BoolFlag{ + Name: "tty, T", + Usage: "Disables TTY mode to run this command from a script.", + Destination: &Tty, +} + // DNSProvider specifies a DNS provider. var DNSProvider string