ZKX's LAB

expect脚本如何给参数 expect 脚本

2020-10-13知识15

如何用expect写一个自动登录脚本 1.安装expect需要先安装tcl:apt-get install tclapt-get install expect2.expect使用2.1一个简单的输入密码操作usr/bin/expectset timeout 100set password\"123456spawn sudo rm-rf zzlogicexpect\"root123456send\"$password\\ninteract说明:第一行#!usr/bin/expect表示使用expect的shell交互模式set是对变量password赋值set timeout 100:设置超时时间为100秒,如果要执行的shell命令636f7079e799bee5baa631333363366232很长可以设置超时时间长一些。expect超过超时时间没有监测到要找的字符串,则不执行,默认timeout为10秒spawn在expect下执行shell脚本expect对通过spawn执行的shell脚本的返回进行判断,是否包含“”中的字段send:如果expect监测到了包含的字符串,将输入send中的内容,\\n相当于回车interact:退出expect返回终端,可以继续输入,否则将一直在expect不能退出到终端2.2expect的命令行参数[lindex$argv n]获得index为n的参数(index从0开始计算)argc为命令行参数的个数[lrange$argv 0 0]表示第一个参数[lrange$argv 0 3]表示第1到第3个参数例如scp_service.sh文件,可以./scp_service.sh-rm来执行,这时是赋值了一个。

shell 脚本 expect的调用 你的脚本应该完成这样的功能,不知是不是你要的:通过 expect 自动 su 到 root 账户,然后等待用户输入,直到用户输入 exit 或^D 之类的退出 root 后,继续执行后面的命令:创建一个文件并显示一个字符串。

关于linux expect脚本的问题,自动输入密码 #。usr/bin/expectset time 30set passwd xxxxx(xxxx是你的密码内容)spawn sudoexpect\"Password:\"引号里是你手动执行sudo时候。系统返回给你的提示,可以只匹配最后几个字母,也可以写全send\"$passwd\\rexpect eofEOF

关于linux expect脚本的问题,自动输入密码 usr/bin/expect set time 30 set passwd xxxxx(xxxx是你的密码内容)spawn sudo expect\"Password:\"引号里是你手动执行sudo时候。系统返回给你的提示,可以只匹配最后几个。

如何在expect脚本中调用系统命令 给你一个例子,注意发命令时加一个\\r:[code=BatchFile]#。usr/bin/expectspawn su testexpect {Password:\"{send-\"test\\r;};{send\"ls/\\r;send\"su root/\\r;expect {Password:\"{send-\"rootpw\\r;};}exit;};}[/code]

#linux脚本#命令模式#enter#expect#shell

随机阅读

qrcode
访问手机版