运维开发网

linux交互语言except

运维开发网 https://www.qedev.com 2020-12-01 13:06 出处:51CTO 作者:周先森哦
linux交互语言expect

定义:

由于某种特殊情况没有配置互信,当多次使用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

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号