当前位置: 技术问答>linux和unix
expect 关于send关键的问题
来源: 互联网 发布时间:2016-06-04
本文导语: 最近使用expect时遇到一个问题,脚本大体如下: 文件名,a.exp #!/usr/local/bin/expect set timeout 30 spawn sudo su - [lindex $argv 0] expect { "Password:" { send "[lindex $argv 1]n" expect { "$ " { send ...
最近使用expect时遇到一个问题,脚本大体如下:
文件名,a.exp
#!/usr/local/bin/expect
set timeout 30
spawn sudo su - [lindex $argv 0]
expect {
"Password:" {
send "[lindex $argv 1]n"
expect {
"$ " { send "[lindex $argv 2] [lindex $argv 3] [lindex $argv 4]n"
}
}
}
}
expect eof
exit
我用{expect a.exp 目标用户名 用户名密码 echo "一个较长的字符串,目前最大有70多K" ">目标文件名"} 来执行,当{"一个较长的字符串,目前最大有70多K"}过长的时候就会在这里卡死,我猜想是send后面的参数长度是有限制的,问题如下:
1. send 关键字后面的参数长度是否有限制大小,如果限制了可不可以通过设置来改变?
知道的朋友请不吝赐教,谢谢!
QQ:289093769
E-mail: ngbqt@163.com
文件名,a.exp
#!/usr/local/bin/expect
set timeout 30
spawn sudo su - [lindex $argv 0]
expect {
"Password:" {
send "[lindex $argv 1]n"
expect {
"$ " { send "[lindex $argv 2] [lindex $argv 3] [lindex $argv 4]n"
}
}
}
}
expect eof
exit
我用{expect a.exp 目标用户名 用户名密码 echo "一个较长的字符串,目前最大有70多K" ">目标文件名"} 来执行,当{"一个较长的字符串,目前最大有70多K"}过长的时候就会在这里卡死,我猜想是send后面的参数长度是有限制的,问题如下:
1. send 关键字后面的参数长度是否有限制大小,如果限制了可不可以通过设置来改变?
知道的朋友请不吝赐教,谢谢!
QQ:289093769
E-mail: ngbqt@163.com
|
能不能把他放到变量里面。。。。如果还是不行的话,那就改用perl吧,perl做interactive也不错。。。。。另外像你介绍一本书《UNIX和LINUX自动化管理 》
。。。这本书很久以前就缺货了
。。。这本书很久以前就缺货了