9

是否有可能在 unix shell 脚本中使用 haskell 函数?

例如:

#!/bin/bash

...
var1=value
...

# use haskell function with input from shell variable var1
# and store the result into another shell variable var2

var2=haskellFunction $var1

...

我想在shell脚本中使用变量作为haskell函数的参数和结果

提前致谢。

吉米

4

2 回答 2

10

使用开关-eghc例如

var2=$(ghc -e "let f x = x*x + x/2 in f $var1")

对于字符串处理,最好结合使用Haskellinteract和 bash 的 here 字符串:

var2=$(ghc -e 'interact reverse' <<<$var1)
于 2012-11-04T19:40:43.840 回答
2

此外,您可以使用以下方法编写脚本ghci:只需将 shebang#!/usr/bin/env runhaskell放在脚本的第一行并使其可执行。这样的脚本可以sh/bash/ksh/csh/whatever像往常一样从脚本中调用。

例如

$ cat > hello.hsh
#!/usr/bin/env runhaskell

main = putStrLn "Hello world!"

$ chmod +x hello.hsh
$ ./hello.hsh
Hello world!
$
于 2012-11-05T14:10:14.060 回答