当前位置:首页 » 编程软件 » shell脚本expect

shell脚本expect

发布时间: 2022-06-24 01:44:00

Ⅰ 请问各位大神,如何在shell中调用expect脚本,并将刚刚在shell中处理后的结果传给expect

使用变量保存处理结果,然后在调用expect
#!/bin/sh
expect <<!
spawn ssh xx@yyy
expect "*Password*"
send "xxx\r"
expect ">"
send "mkdir xxxxx\r"
send "exit\r"
expect eof
!

Ⅱ 如何在bash shell脚本中使用expect

1、首先检查你机器上有没有expect(我知道ubuntu默认是没有安装的)
ls /usr/bin | grep expect 看看有没有装expect
2、没有的话需要安装
在ubuntu的软件安装中心,搜索tcl 和tk 和expect并安装;
也可以命令行输入sudo apt-get install tcl tk expect
3. 环境ready了后,可以在shell脚本中用Here document的方式使用expect命令
Here document格式如下:
expect <<!
这中间都是expect命令
!
为防止错误,建议都顶格写,前面不要留空格。

Ⅲ shell脚本中,用expect命令如何实现自动远程操作,折磨我好久了..

既然$无法匹配,我觉得你完全可以单独配置一个环境变量,比如说我登录到服务器后
echo "SCPGOGOGO"
expect捕获到SCPGOGOGO 开始执行scp
expect好久不写了,不知道$?判断怎么写,如果要写我的翻书了。

当判断$?为真,然后执行send "java -jar"。不过我想在仔细思考一下可能会有更好的逻辑。
我不太稀饭expect这种交互写法。

因为有更多简单便捷的方法,不知道你为什么不用。
sshpass ssh密钥 简单点直接用sh操作ssh就可以达到你想要的效果,why死扣expect?,
各种集中式管理软件(puppet,salt,ansible...)都是为了方便远程操作管理的东西why?不用?
本来1小时解决的问题,死扣expect花了好几天,这种把一个问题发展到解决2个问题的做事方法不可取。

Ⅳ 在shell(#!/bin/sh)脚本中怎么使用expect命令,需要添加什么环境变量吗,正确即给分

首先你在命令行执行env expect,看expect能不能用,如果不能用,那么你需要找到expect执行文件路径,加入到PATH环境变量中去。

然后就可以在shell中使用了,有两种方式实现:
1.用here document
2.用expect -c

$cat 1.sh
#!/bin/sh
output=`expect <<EXP
puts "hello world"
EXP
`
echo "expect 1 output:"
echo $output
echo
echo "expect 2 output:"
expect -c 'puts "hello world!"'

$chmod 777 1.sh

$./1.sh
expect 1 output:
hello world

expect 2 output:
hello world!

Ⅳ shell脚本嵌套expect后如何继续执行shell命令

./suroot.sh 中为什么不直接申明 #!/usr/bin/expect ?
然后,expect -c " xxx " 就可以直接写成 xxx 了。

Ⅵ shell中 expect使用

send "pwd" 之后应该继续 expect 一个提示符,或者等待一个 timeout 的时间,然后send 一条命令 touch file1,如此继续。

不考虑 expect 练习的目的的话,完全这个任务最方便的是用 sudo 代替 su,可配置 sudo 执行你这个操作时不用密码。

Ⅶ 如何在shell脚本中调用expect实现自动化

简单的脚本,参考下
要交互的脚本(talk.sh)如下:
#!/bin/bash
echo "Who are you?"
read who
echo "Hello,$who"
echo "Are you happy?"
read answer
echo "why?"
read answer

自动化脚本:
#!/bin/bash

expect<<- END
spawn ./talk.sh
expect "who"
send "firefly\n"
expect "happy?"
send "Yes,I am happy.\n"
expect "why?"
send "Because it worked!\n"
expect eof
exit
END

Ⅷ shell 脚本 expect的调用

你的脚本应该完成这样的功能,不知是不是你要的:

通过 expect 自动 su 到 root 账户,然后等待用户输入,直到用户输入 exit 或 ^D 之类的退出 root 后,继续执行后面的命令:创建一个文件并显示一个字符串。

Ⅸ expect里如何执行shell脚本

shell编写的except自动化功能有限, 不能做到接口的调用, 对执行的结果很难评估的哦, 建议使用python程序搞定, 楼主上面的需求, 都不是问题, 这个可以帮助搞定, 另外, wo最近开发了一个自动化的批量管理服务器的程序, 里面就有上述功能!如果感兴趣的话, 可以一起讨论一下,看看my网名就行了

热点内容
怎么改密码锁 发布:2025-02-13 23:47:39 浏览:852
androidbitmap获取大小 发布:2025-02-13 23:47:38 浏览:559
怎么把升级鸿蒙系统变回安卓 发布:2025-02-13 23:36:07 浏览:595
偶校验c语言 发布:2025-02-13 23:22:52 浏览:937
芒果如何提取离线缓存视频 发布:2025-02-13 23:16:12 浏览:793
王者荣耀微信区安卓哪里分低 发布:2025-02-13 23:14:10 浏览:658
安装linuxvmwaretools 发布:2025-02-13 22:56:02 浏览:8
浪潮服务器如何引导系统安装光盘 发布:2025-02-13 22:56:02 浏览:112
java多线程的同步 发布:2025-02-13 22:46:15 浏览:920
软件使用权限里存储关闭还是打开 发布:2025-02-13 22:46:11 浏览:382