当前位置: 技术问答>linux和unix
求问expect脚本的问题
来源: 互联网 发布时间:2016-08-11
本文导语: 写了一个非常简单的expect脚本如下: 就是让脚本执行用户输入的命令,然后当显示到提示符时就退出 #! /usr/bin/expect -d # $Id$ set cmd [lindex $argv 1] eval "exec $cmd" expect "root@" return 然后执行命令如下: # ./test.exp "...
写了一个非常简单的expect脚本如下:
就是让脚本执行用户输入的命令,然后当显示到提示符时就退出
#! /usr/bin/expect -d
# $Id$
set cmd [lindex $argv 1]
eval "exec $cmd"
expect "root@" return
然后执行命令如下:
# ./test.exp "ls -l"
expect version 5.43.0
argv[0] = /usr/bin/expect argv[1] = -d argv[2] = ./test.exp argv[3] = ls -l
set argc 1
set argv0 "./test.exp"
set argv "{ls -l}"
executing commands from command file ./test.exp
expect: does "" (spawn_id exp0) match glob pattern "root@"? no
expect: timed out
好像一直没法expect到提示符,就timeout了
这样错在哪里呢?
就是让脚本执行用户输入的命令,然后当显示到提示符时就退出
#! /usr/bin/expect -d
# $Id$
set cmd [lindex $argv 1]
eval "exec $cmd"
expect "root@" return
然后执行命令如下:
# ./test.exp "ls -l"
expect version 5.43.0
argv[0] = /usr/bin/expect argv[1] = -d argv[2] = ./test.exp argv[3] = ls -l
set argc 1
set argv0 "./test.exp"
set argv "{ls -l}"
executing commands from command file ./test.exp
expect: does "" (spawn_id exp0) match glob pattern "root@"? no
expect: timed out
好像一直没法expect到提示符,就timeout了
这样错在哪里呢?
|
expect "root@" return
改成
expect "*root@*" return 试试
改成
expect "*root@*" return 试试