我在我的筆記本電腦上安裝了ghc 6.12.3和Ubuntu 11.04。在Haskell中運行sudo命令
我想要一個函數,它需要一些shell命令並在Haskell中以超級用戶身份執行它們(如sudo update-manager,sudo iwlist ....)。我知道System.Process模塊有一些功能,如createProcess,runInteractiveCommand。但是有一個原始命令或一個shell命令,不適用於像「sudo update-manager」這樣的複合命令。我所有關於執行「sudo ...」功能的實驗都失敗了。我用來運行我的haskell函數的終端沒有任何迴應。
我也看了一下HSH包。但在我看來,那裏輸出的函數對於sudo命令來說也不是很好。
我的猜測是執行像「sudo update-manager」這樣的命令需要兩個進程。一個是「sudo」,另一個是「更新管理器」。所以我需要兩次調用諸如「createProcess」之類的函數,並以某種方式連接它們,以便「update-manager」的第二個進程從第一個「sudo」進程獲得超級用戶特權。
在此先感謝您的幫助!
'updateManager'是'sudo'的一個參數.'sudo'將讀取它的所有參數並從它們中創建一個新的命令行。 – fuz
向我們展示您嘗試過的代碼無效。從你的描述來看,它應該是有效的。 – dave4420
這可能不是一個好主意。更好的是降低你的水平,而不是升高它 – alternative