0
考慮下面的Haskell功能:如何以root身份執行Haskell的命令?
eraseFile :: FilePath -> IO()
eraseFile basename =
do let cmd' = ">"
args' = ("/path/to/file/" ++ basename) :: String
(exitcode', stdout', stderr') <- readProcessWithExitCode cmd' [args'] ""
return()
當我嘗試在stack ghci
REPL運行它,或者從main函數,我從控制檯得到permission denied
錯誤。通常情況下,在bash控制檯中,您可以運行此命令作爲sudo
,但從Haskell調用時似乎不起作用。
問題:如何以root身份在Haskell中執行系統命令?
你試過以root身份運行'stack ghci'嗎? –
使用sudo應該可以工作。上面的代碼是錯誤的,因爲'>'不是可執行文件的名稱,這是shell語法。 – chi
@TomaszLewowski:是的,但它似乎沒有工作。 – George