条件不适用于bash cgi

时间:2016-09-21 19:11:07

标签: bash conditional cgi lighttpd

我有一个使用lighttpd的基本cgi bash脚本。这是有效的:

#!/bin/bash
echo -e 'Content-type: text/html\n'
echo '<html>'
echo '<head>'
echo '<title>test</title>'
echo '</head>'
echo '<body>'
echo "Hello World"
echo '</body>'
echo '</html>'

问题是如果我尝试添加某种条件......它不起作用。如果您只更改了hello world行:

if [ 1 -eq 1 ]; then
    echo "it worked"
else
    echo "anything else"
fi

它没有显示任何内容。我试着将它们全部放在一行:

if [ 1 -eq 1 ]; then echo "it worked"; else echo "anything else"; fi

结果相同。它没有显示任何内容。

我有一个&#34;技巧&#34;哪个有效,但不是我的选择......很难解释。它使用的是这样的东西:

[[ 1 -eq 1 ]] && echo "it worked"

有关可能发生的事情的任何想法?如果有人需要更多数据,或者lighttpd.conf或其他什么只是告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

omfg ...我有解决方案......我觉得自己像个n00b。我的一个朋友解决了它。

就像将文件末尾的换行符从文件中的CRLF更改为LF一样简单......这种情况就是使用Windoze发生的事情......不要怪我太多而且抱歉这篇文章:(无论如何我不会删除它,也许对某人有用。