shell编程之免交互

Here Document概述

使用I/O重定向的方式将命令列表提供给交互式程序
标准输入的一种替代品

命令 <<标记
...
...
标记

在这里插入图片描述
插入文件之中

cat > yum.repo <<EOF   (>是覆盖,如果是>>就是追加)
...
...
EOF
cat <<-EOF         有-就内容前行缩进
...
...
EOF   

免交互创建磁盘分区
在这里插入图片描述

read a <<EOF
220
EOF
:<< DO-NOTHING          多行注释
第一行注释
第二行注释
...
...
DO-NOTHING

Here Document使用注意事项

标记可以使用任意合法字符
结尾的标记一定要顶格写,前面不能有任何字符
结尾的标记后面也不能有任何字符(包括空格)
开头标记前后的空格会被省略掉

Expect

建立在tcl之上的一个工具(首先安装tcl)
用于进行自动化控制和测试
解决shell脚本中交互相关的问题
1、expect
判断上次输出结果中是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回
只能捕捉由spawn启动的进程的输出
用于接收命令执行后输出,然后和期望的字符串匹配
2、send
向进程发送字符串,用于模拟用户的输入
该命令不能自动回车换行,一般要加\r (回车)
3、spawn
启动进程,并跟踪后续交互信息
4、结束符
expect eof 等待执行结束 执行自动化任务通常使用expect eof
interact 执行完成后保持交互状态,把控制权交给控制台
5、set
设置超时时间,过期则继续执行后续指令
单位是秒
timeout -1 表示永不超时
默认情况下,timeout是10秒
6、exp_continue
允许expect继续向下执行指令
7、send_user
回显命令,相当于echo

用expect登录其他客户端

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
设置参数
在这里插入图片描述
引用位置参数
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
log_user 0 不在屏幕显示结构 1 在屏幕显示结果

如何在/bin/bash脚本里面用expect
用expect -c

在这里插入图片描述

在这里插入图片描述

用expect使用ftp
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值