summaryrefslogtreecommitdiff
path: root/src/Command/Shell.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Command/Shell.hs')
-rw-r--r--src/Command/Shell.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Command/Shell.hs b/src/Command/Shell.hs
index 6e0d880..dfff50a 100644
--- a/src/Command/Shell.hs
+++ b/src/Command/Shell.hs
@@ -5,6 +5,7 @@ module Command.Shell (
import Control.Monad
import Control.Monad.IO.Class
+import Data.Bifunctor
import Data.Maybe
import Data.Text (Text)
import Data.Text qualified as T
@@ -37,7 +38,8 @@ instance Command ShellCommand where
cmdShell :: ShellCommand -> CommandExec ()
cmdShell (ShellCommand ref) = do
einput <- getEvalInput
- job <- either (tfail . textEvalError) (return . fst) =<<
+ [ job ] <- either tfail return =<<
+ return . either (Left . textEvalError) (first T.pack . jobsetJobsEither) =<<
liftIO (runEval (evalJobReference ref) einput)
sh <- fromMaybe "/bin/sh" <$> liftIO (lookupEnv "SHELL")
storageDir <- getStorageDir