bash 嵌套expect

Johnblx 2016-05-09 05:22:55
有一个简单的shell脚本
bash1:

#!/usr/bin/expect
set user [lindex $argv 0]
send_user "user\n"

chmod +x bash1
./bash1 "johnbl"

会得到回显johnbl。

bash2:

#!/bin/bash

echo $0
/usr/bin/expect <<-EOF
set user [lindex $argv 0]
send_user "user\n"
EOF
echo $0


chmod +x bash2
./bash1 "johnbl"

却得不到回显johnbl。

请大神不吝赐教


...全文
242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dearvoid 2018-05-06
  • 打赏
  • 举报
回复
最近刚上线了一个 github 项目 sexpect,可以直接用 shell 写 expect 脚本,不需要学习其他编程语言,欢迎试用。
赵4老师 2016-05-16
  • 打赏
  • 举报
回复
也许得加输入输出重定向。
Johnblx 2016-05-15
  • 打赏
  • 举报
回复
继续等待答案解析
renwotao2009 2016-05-09
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
[quote=引用 1 楼 renwotao2009 的回复:] Expert内的命令无法在sh 中之行
我看到在网上有关于bash 中内嵌expect的用法。
引用 1 楼 renwotao2009 的回复:
Expert内的命令无法在sh 中之行
不是sh可以嵌套”expect“吗?[/quote]http://m.blog.chinaunix.net/uid-13423116-id-2894410.html
Johnblx 2016-05-09
  • 打赏
  • 举报
回复
引用 1 楼 renwotao2009 的回复:
Expert内的命令无法在sh 中之行
我看到在网上有关于bash 中内嵌expect的用法。
引用 1 楼 renwotao2009 的回复:
Expert内的命令无法在sh 中之行
不是sh可以嵌套”expect“吗?
renwotao2009 2016-05-09
  • 打赏
  • 举报
回复
Expert内的命令无法在sh 中之行
前  言 第1章 如何才能学好Shell编程 / 1 1.1 为什么要学习Shell编程 / 1 1.2 学好Shell编程所需的基础知识 / 1 1.3 如何才能学好Shell编程之“老鸟”经验谈 / 3 1.4 学完本书后可以达到何种Shell编程高度 / 5 第2章 Shell脚本初步入门 / 6 2.1 什么是Shell / 6 2.2 什么是Shell脚本 / 7 2.3 Shell脚本在Linux运维工作中的地位 / 8 2.4 脚本语言的种类 / 9 2.5 常用操作系统默认的Shell / 11 2.6 Shell脚本的建立和执行 / 12 第3章 Shell变量的核心基础知识与实践 / 22 3.1 什么是Shell变量 / 22 3.2 环境变量 / 23 3.3 普通变量 / 31 3.4 变量定义技巧总结 / 40 第4章 Shell变量知识进阶与实践 / 41 4.1 Shell中特殊且重要的变量 / 41 4.2 bash Shell内置变量命令 / 52 4.3 Shell变量子串知识及实践 / 55 4.4 Shell特殊扩展变量的知识与实践 / 60 第5章 变量的数值计算实践 / 65 5.1 算术运算符 / 65 5.2 双小括号“(())”数值运算命令 / 66 5.3 let运算命令的用法 / 73 5.4 expr命令的用法 / 75 5.5 bc命令的用法 / 81 5.6 awk实现计算 / 83 5.7 declare(同typeset)命令的用法 / 83 5.8 $[]符号的运算示例 / 83 5.9 基于Shell变量输入read命令的运算实践 / 84 第6章 Shell脚本的条件测试与比较 / 92 6.1 Shell脚本的条件测试 / 92 6.2 文件测试表达式 / 97 6.3 字符串测试表达式 / 102 6.4 整数二元比较操作符 / 105 6.5 逻辑操作符 / 108 6.6 测试表达式test、[]、[[]]、(())的区别总结 / 120 第7章 if条件语句的知识与实践 / 121 7.1 if条件语句 / 121 7.2 if条件语句企业案例精讲 / 132 第8章 Shell函数的知识与实践 / 151 8.1 Shell函数的概念与作用介绍 / 151 8.2 Shell函数的语法 / 152 8.3 Shell函数的执行 / 152 8.4 Shell函数的基础实践 / 153 8.5 利用Shell函数开发企业级URL检测脚本 / 155 8.6 利用Shell函数开发一键优化系统脚本 / 158 8.7 利用Shell函数开发rsync服务启动脚本 / 166 第9章 case条件语句的应用实践 / 169 9.1 case条件语句的语法 / 169 9.2 case条件语句实践 / 171 9.3 实践:给输出的字符串加颜色 / 176 9.4 case语句企业级生产案例 / 181 9.5 case条件语句的Linux系统脚本范例 / 187 9.6 本章小结 / 191 第10章 while循环和until循环的应用实践 / 192 10.1 当型和直到型循环语法 / 192 10.2 当型和直到型循环的基本范例 / 194 第11章 for和select循环语句的应用实践 / 217 第12章 循环控制及状态返回值的应用实践 / 249 第13章 Shell数组的应用实践 / 260 第14章 Shell脚本开发规范 / 279 第15章 Shell脚本的调试 / 286 第16章 Shell脚本开发环境的配置和优化实践 / 297 第17章 Linux信号及trap命令的企业应用实践 / 310 第18章 Expect自动化交互式程序应用实践 / 317 第19章 企业Shell面试题及企业运维实战案例 / 340 第20章 子Shell及Shell嵌套模式知识应用 / 377 附 录 Linux重要命令汇总 / 393

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧