期待 linux 上的脚本
Expect script on linux
我想制作一个可以使用 srand 函数回答问题的 expect 脚本。
例如,
我将使用 netcat 连接到服务器,
我会从服务器收到一个问题,例如 "please enter 0 or 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);}
如果你能提供一些样本给我,那将非常有帮助。
非常感谢。
您想启动 netcat,识别该文本,然后 return (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.htm and http://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
我想制作一个可以使用 srand 函数回答问题的 expect 脚本。
例如, 我将使用 netcat 连接到服务器, 我会从服务器收到一个问题,例如 "please enter 0 or 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);}
如果你能提供一些样本给我,那将非常有帮助。 非常感谢。
您想启动 netcat,识别该文本,然后 return (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.htm and http://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