我需要编写一个CGI程序,它会显示一个系统命令的输出:
script.sh
echo "++++++"
VAR=$(expect -c " spawn ssh -o StrictHostKeyChecking=no $USER@$HOST $CMD match_max
100000 expect \"*?assword:*\" send -- \"$PASS\r\" send -- \"\r\" expect eof ")
echo $VAR
echo "++++++"
在CGI文件:
my $command= "ksh ../cgi-bin/script.sh";
my @output= `$command`;
print @output;
最后,当我运行在UNIX中的CGI文件时, $VAR
是一个很长的字符串,包括\ n和一些分隔符。 然而,当我的Web服务器上运行时,输出为
++++++ ++++++
所以, $VAR
传入网络接口/浏览器的时候丢失了。 我也许知道问题是$VAR
是很长的字符串。
但不管怎么说,反正是有解决这个问题,除了输出写入文件,然后从浏览器找回?
谢谢如果你有兴趣在我的问题。