summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-03-17 09:37:11 +0100
committerCarl Hetherington <cth@carlh.net>2020-03-17 09:37:11 +0100
commit7fe1f1ecd84caa3a7c3b82f8b21d5fca790888e6 (patch)
treea1a02ddd9ad0c4f7ac7366f839597c6086409ab0
parent4f31e45611e6d147257d798664610d2c0be6fa35 (diff)
Only make docker sessions interactive if stdin is a TTY.
-rwxr-xr-xcdist3
1 files changed, 2 insertions, 1 deletions
diff --git a/cdist b/cdist
index 4c21cef..39568d6 100755
--- a/cdist
+++ b/cdist
@@ -553,7 +553,8 @@ class DockerTarget(Target):
def command(self, cmd):
dir = os.path.join(self.directory, os.path.relpath(os.getcwd(), self.directory))
- command('%s exec %s -i -t %s /bin/bash -c \'export %s; cd %s; %s\'' % (config.docker(), self._user_tag(), self.container, self.variables_string(), dir, cmd))
+ interactive_flag = '-i ' if sys.stdin.isatty() else ''
+ command('%s exec %s %s -t %s /bin/bash -c \'export %s; cd %s; %s\'' % (config.docker(), self._user_tag(), interactive_flag, self.container, self.variables_string(), dir, cmd))
def cleanup(self):
super(DockerTarget, self).cleanup()