簡體   English   中英

在Linux上期望腳本

[英]Expect script on linux

我想制作一個期望腳本,該腳本可以使用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);}

如果您可以提供一些示例,將非常有幫助。 非常感謝你。

您要啟動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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM