0

我正在用 Haskell 编写一个 cgi 脚本。我只能使用拥抱/跑步拥抱。

#!/opt/local/bin/runhugs

module Main where

main = do
        putStrLn ("content-type: text/plain\n")
        putStrLn ("Hello, Server!")

到目前为止,一切都很好。但是现在我想获取服务器的环境变量。例如“SCRIPT_NAME”环境变量。

使用 bash 我可以:

#!/bin/bash

echo "content-type: text/plain;"
echo ""

echo $SCRIPT_NAME

结果是:/path/to/script.cgi在浏览器窗口中。

对于 Haskell,我发现了类似的东西:script <- getEnv "SCRIPT_NAME",但是

#!/opt/local/bin/runhugs

module Main where

main = do
        putStrLn ("content-type: text/plain\n")
        scriptname <- getEnv "SCRIPT_NAME"
        putStrLn scriptname

不起作用。

有可能以某种方式做到这一点吗?

  1. 没有进口的平原,或
  2. 可以在拥抱中导入
4

1 回答 1

2

试试import System.Environment (getEnv)

于 2017-10-17T18:48:22.900 回答