runInteractiveProcess not using new PATH
run the below program with something like: rm -r foo; ghc env.hs && ./env
import System.Process( runInteractiveProcess, waitForProcess, ProcessHandle )
import System.Directory
main = do
createDirectory "foo"
writeFile "foo/bar" "#!/bin/sh\necho baz"
(inH,outH,errH,procH) <- runInteractiveProcess "chmod" ["+x", "./foo/bar"] Nothing $ Just [("PATH","./foo")]
ex <- waitForProcess procH
print ex -- ExitSuccess
(inH,outH,errH,procH) <- runInteractiveProcess "env" ["PATH=./foo", "bar"] Nothing $ Just [("PATH","./foo")]
ex <- waitForProcess procH
print ex -- ExitSuccess
(inH,outH,errH,procH) <- runInteractiveProcess "bar" [] Nothing $ Just [("PATH","./foo")]
ex <- waitForProcess procH
print ex -- ExitFailure 127 (indicates command not found)
Trac metadata
Trac field | Value |
---|---|
Version | 7.4.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |