期待linux上的脚本

时间:2016-06-10 07:57:52

标签: linux expect srand

我想制作一个可以通过使用srand functuon回答问题的期望脚本。

例如, 我将使用netcat连接到服务器, 我会从服务器上得到一个问题,比如“请输入0或1”; 然后我希望我的脚本可以使用上面的代码自动回答问题。

  #include <stdio.h>
  #include <string.h>
  #include <stdlib.h>
  #include <time.h>

  void main(){
  int num;
  srand(time(NULL));
  num=(rand()%2);
  printf("%d\n",num);}

如果你能提供一些样品,那将非常有帮助。 非常感谢你。

1 个答案:

答案 0 :(得分:0)

你想启动netcat,识别那个文本,然后在(0,1)中返回一个随机值,是吗?

#!/usr/bin/env expect
expr {srand([clock seconds])}    ;# initialize RNG
spawn netcat 127.0.0.1
expect "please enter 0 or 1"
send "[expr {int(rand() * 2)}]\r"
expect eof

请参阅文档:http://tcl.tk/man/tcl8.6/TclCmd/expr.htmhttp://tcl.tk/man/tcl8.6/TclCmd/mathfunc.htm

Tcl的expr命令在Tcl中成为一个独立的迷你语言有一些瑕疵。语法可以......稍微清理一下。

#!/usr/bin/env expect
namespace import ::tcl::mathfunc::*
namespace import ::tcl::mathop::\*
srand [clock seconds]    ;# initialize RNG
spawn netcat 127.0.0.1
expect "please enter 0 or 1"
send "[int [* 2 [rand]]]\r"
expect eof