当前位置: 首页 > 编程笔记 >

shell中嵌套执行expect命令实例

司业
2023-03-14
本文向大家介绍shell中嵌套执行expect命令实例,包括了shell中嵌套执行expect命令实例的使用技巧和注意事项,需要的朋友参考一下

一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.

系统:centos 5.x

1.先安装expect


yum -y install expect

2.脚本内容:


cat auto_svn.sh

#!/bin/bash

passwd='123456'

/usr/bin/expect <<-EOF

set time 30

spawn ssh -p18330 root@192.168.10.22

expect {

"*yes/no" { send "yes\r"; exp_continue }

"*password:" { send "$passwd\r" }

}

expect "*#"

send "cd /home/trunk\r"

expect "*#"

send "svn up\r"

expect "*#"

send "exit\r"

interact

expect eof

EOF

这样写的话,就方便得很多,一个脚本就包括完了.

 类似资料:
  • 问题内容: 我仍在尝试掌握如何运行linux或Windows shell命令并在node.js中捕获输出的细节。最终,我想做这样的事情… 重要的一点是必须对全局范围的变量(或对象)可用。我尝试了以下功能,但是由于某种原因,我被打印到控制台了。 我很难理解代码在哪里突破了…该模型的非常简单的原型可以工作… 有人可以帮助我了解为什么有效,但是无效吗?FWIW,我需要使用,因为缓冲区限制为200KB。

  • 我有一个案例,我想问我可以解决与Spring壳。我有一个Main.jar应用程序,它有几个部署在Wildly服务器上的Spring任务。在我的例子中,我不能停止或重新部署main.jar,因为必须不停地提供服务。

  • 问题内容: 我正在寻找在Go中执行shell命令,并在程序中以字符串形式获取结果输出。我看到了Rosetta Code 版本: 但这并不能以我可以通过编程方式访问的方式捕获实际的标准或错误-那些仍会打印到常规的stdout / stderr。我看到使用Pipe作为out或err可以在其他地方提供帮助,但是没有如何执行此操作的示例。有任何想法吗? 问题答案: 该答案不代表Go标准库的当前状态。请查看

  • 问题内容: 我正在尝试从GNU / Linux平台上的Java应用程序执行shell命令。问题是,尽管它可以从bash成功运行,但调用另一个Java应用程序的脚本永远不会结束。我试图调试它: 我尝试使用:ProcessBuilder(); 和Runtime.getRuntime()。exec(cmd); 看起来它正在等待完成。有任何想法吗? 谢谢,Laurențiu 问题答案: 您是否正在处理标准

  • 问题内容: 我正在尝试在我编写并按下的应用程序中从应用程序仿真器终端(您可以在Google Play中找到它)执行此命令enter,因此请编写: 然后再次按,并使用的新功能开始录制屏幕。 因此,我尝试使用以下命令从Java执行相同的代码: 但是不起作用,因为未创建文件。显然,我在装有android kitkat的有根设备上运行。问题出在哪里?我该如何解决?因为从终端仿真器工作并且在Java中不行?

  • 我正在尝试从jenkinsfile执行一组命令。问题是,当我尝试将stdout的值分配给变量时,它不起作用。我尝试了双引号和单引号的不同组合,但到目前为止没有运气。 在这里,我使用最新版本的jenkinsfile以及旧版本执行脚本。将shell命令放入 """ """ 不允许创建新变量,并给出client_name命令不存在的错误。 我想将命令p4客户端-e$client_name的标准输出分配给