aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-02-26 17:38:03 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-02-27 08:33:17 -0700
commit2e1599f51c803560b6b9063fd8ae95d62a601b62 (patch)
treea5563788adc188d99b8df77f4bd2e772f11ac3a5
parentd1eda3b5a5642611c836bc3f5f7d00d100aa7965 (diff)
downloadconsfigurator-2e1599f51c803560b6b9063fd8ae95d62a601b62.tar.gz
no need to force a shell around a shell
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--src/connection/local.lisp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/connection/local.lisp b/src/connection/local.lisp
index 85c8f95..5f5c260 100644
--- a/src/connection/local.lisp
+++ b/src/connection/local.lisp
@@ -34,13 +34,10 @@ root Lisp is running on, as the root Lisp's uid."))
(defmethod connection-run ((connection local-connection) shell-cmd input)
(multiple-value-bind (output _ exit-code)
- ;; wrap in sh -c in case user's shell is not POSIX
- (run-program (strcat "sh -c " (escape-sh-token shell-cmd))
- :force-shell t
- :input input
- :output :string
- :error-output :output
- :ignore-error-status t)
+ ;; call sh(1) so we know we'll get POSIX
+ (run-program `("sh" "-c" ,shell-cmd)
+ :input input :output :string
+ :error-output :output :ignore-error-status t)
(declare (ignore _))
(values output exit-code)))