谁可以给我一个简短的例子,我可以调用一些系统命令,然后用haskell读取它,例如打印出来吗?
我知道我可以使用System.Cmd来制作系统命令,如:nm,ls,mkdir等。
但我也不需要只调用它们我需要阅读它并使用readed字符串进行一些操作
答案 0 :(得分:7)
要使用的密钥库是the process
package,它提供System.Process。
调用命令并获取其输出:
readProcess
:: FilePath -- command to run
-> [String] -- any arguments
-> String -- standard input
-> IO String -- stdout
像这样:
import System.Process
main = do
s <- readProcess "/bin/date" [] []
putStrLn $ "The date is " ++ s
以:
运行The date is Fri Apr 29 09:29:29 PDT 2011
答案 1 :(得分:2)
System.Process具有您想要的功能,具体为readProcess
。
main = do
wcOut <- readProcess "wc" ["/usr/share/dict"] []
let numLines = read (head (words wcOut)) :: Int
if numLines > 10 then return () else print "That's a small dictionary."