linux交互语言except

定义:
由于某种特殊情况没有配置互信,当多次使用ssh、scp、sftp的时候,就发现非常烦人,总是让你不断输入密码,except就是一个专门用于交互执行命令,尤其他作为linux的交互命令在写脚本的时候模仿人为输入,就显现出他独特的优势。

参数:

  • spqwn 交互命令的开始
  • expect 用于匹配交互字符,如果匹配上就继续执行后面的命令
  • set 设置变量
  • puts 输出变量
  • set timeout 设置超时时间
  • send 用于发送字符串或者命令
  • exit 退出expect脚本
  • eof expect执行结束,退出
  • interact 结束
  • \r 代表回车,输入密码或者命令时使用

举例:

linux交互语言except

使用 expect -f test.sh root 172.27.18.200 执行这个脚本就能从对端服务器上下载指定目录的文件,就不需要手动输入密码了

注意:
(1.)在对端操作,每一步都必须使用expect匹配上对应字符,才能继续执行下面的操作。
(2.)send后面的命令必须跟着 \r 回车,否则不能执行命令
(3.)expect 执行纯expect脚本

当然,也可以直接在shell脚本里面引用expect。
#!/bin/bash
shell 语言。。。
/usr/bin/expect <<EOF
spawn sftp [email protected]
expect "*ssword*"
send "ACROSS_ad_2013\r"
.....
interact
EOF

猜你喜欢

转载自blog.51cto.com/15013163/2557437