条件语句不适用于 bash cgi

Conditionals not working on bash cgi

我有一个使用 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

同样的结果。它什么也没显示。

我有一个 "trick" 可以使用,但对我来说不是一个选择......很长一段时间来解释。它使用的是这样的东西:

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

知道会发生什么吗?如果有人需要更多数据,或 lighttpd.conf 或其他任何东西,请告诉我。谢谢。

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

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