我在Windows XP上工作.我可以通过调用一个自动执行ssh会话的TCL脚本,通过浏览器成功运行一个system()命令.我还从脚本返回一个值.但是我的问题是脚本会在浏览器中转储整个ssh会话.
我的php脚本看起来像:
$lastline=system(‘”C:\tcl\bin\tclsh.exe” \path to file\filename.tcl ‘.$username.’ ‘.$pass,$val);
filename.tcl:
spawn plink -ssh $user@$host
expect “assword:”
send “$pass\r”
expect “\prompt:/->”
set $return_value [string compare /..string../ $expect_out(buffer)]
/…some code…this runs fine/
exit $return_value
一切运行正常,我正确地返回$return_value,但php文件打印在浏览器中执行整个ssh会话的结果,如下所示:
Using username “admin”. admin@10.135.25.150’s password: === /*some text*/ === \prompt:/->…/some text/
我想防止system()函数在浏览器中打印
我使用了shell_exec()函数,但它返回整个ssh会话结果(我已经在tcl脚本中解析并得到一个精确的值返回到php脚本)
有没有办法我可以这样做,而不使用shell_exec(),而是使用system()
提前致谢