0
は、以下のHaskellの関数を考えてみましょう:私はstack ghci
REPLでこれを実行しようとするとHaskellからrootとしてコマンドを実行するには?
eraseFile :: FilePath -> IO()
eraseFile basename =
do let cmd' = ">"
args' = ("/path/to/file/" ++ basename) :: String
(exitcode', stdout', stderr') <- readProcessWithExitCode cmd' [args'] ""
return()
、またはメイン関数から、私はコンソールからpermission denied
エラーが発生します。通常、bashコンソールでは、このコマンドをsudo
として実行できますが、これはHaskellから呼び出されたときには動作しません。
質問: Haskellでシステムコマンドをrootとして実行するにはどうすればよいですか?
rootとして 'stack ghci'を実行しようとしましたか? –
sudoを使うとうまくいくはずです。 '>'は実行可能な名前ではないので、上記のコードは間違っています。これはシェルの構文です。 – chi
@TomaszLewowski:はい、動作しませんでした。 – George