条件语句不适用于 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 :( 无论如何我不会删除它,也许对某些人有用。
我有一个使用 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 :( 无论如何我不会删除它,也许对某些人有用。