首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux expect 自动交互脚本用法

最近用到自动交互脚本进行数据库备份,以前虽然也有用来使用 ftp 远程获取文件,还来没有系统记录过,趁这次机会总结一下。...安装 expect expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...expect自动交互流程: spawn启动指定进程 expect获取指定关键字 send向指定程序发送指定字符 执行完成退出. 注意该脚本能够执行的前提是安装了 expect。...interact:执行完成后保持交互状态,把控制权交给用户,不是免交互的状态,需要自行输入需要执行的命令。...Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/about-linux-expect

1.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    交互脚本_交互式和脚本式的区别

    目录 什么是 VBS 第一个 VBS 脚本 msgbox 语法 中文乱码 弹窗交互功能 表白恶搞 什么是 VBS VBS 是一种 Windows 脚本语言,全称是 Microsoft Visual...Basic Script Editon,微软公司可视化 BASIC 脚本版 vbs 是系统内置的,代码可在 windows 系统中直接执行,不需要编译环境,非常的方便 vbs 脚本简单,高效,大部分功能都可以实现...,利用好 vbs 脚本,可以极大的提高效率,可以用它来做一些反复繁琐的机器操作 第一个 VBS 脚本 在桌面上新建一个文本文档 打开文本文档,在其中输入 msgbox "Hello World!"...ANSI 才可以正常运行中文 这时候我们需要 打开文本文档 ► 点击左上角文件 ► 另存为 ► 选择编码为ANSI ► 确定 即可解决 弹窗交互功能 上面我们只是实现了很简单的展示功能,那么我们需要实现交互功能...定义变量,语法为:dim 变量名1,变量名2,变量名3...变量名n 其中 inputbox 可以用来接收用户手动输入的参数 dim name name = inputbox("请告诉我您是谁", "这是交互的标题

    81610

    Linux之expect工具免交互式shell脚本执行

    Linux之expect工具是一个根据脚本与其他交互式程序进行交互。通过在脚本中设定期望值和响应值进行交互操作。主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...以SSH KEY 生成以及发送到远程服务器为例简单介绍下expect工具 expect 启用选项: -c执行脚本前先执行的命令,可多次使用-ddebug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用...-i交互式输入命令,使用"exit"或"EOF"退出输入状态--标示选项结束(如果你需要传递与expect选项相似的参数给脚本时),可放到#!行:#!...如果设置为-1表示不会超时set定义变量$argvexpect脚本可以接受bash的外部传参,可以使用[ lindex $argv n ]n为0表示第一个传参,为1表示第二个传参,以此类推expect从交互程序进程中指定接收信息...exit退出expect脚本expect eofspawn进程结束后会向expect发送eof,接收到eof代表该进程结束interact执行完代码后保持交互状态,将控制权交给用户。

    1.1K10

    expect 实现脚本的自动交互

    expect 是建立在 tcl 语言基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信。...可以将交互过程如:ssh 登录、ftp 登录、scp 复制文件等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率。...expect 实例 自动拷贝 scp scp 远程复制文件(夹)涉及到很多交互式命令,我们不得不人工响应,expect 的出现解决了这个问题,实例脚本如下。.../xxx.sh 才能执行脚本成功,下面的自动登录 ssh 实例代码就是封装成函数的形式。...参考资料 expect自动交互详解 Ubuntu使用Spawn和expect实现ssh自动登陆 Linux中通过expect工具实现脚本的自动交互

    98831

    Shell脚本和expect实现自动交互

    expect介绍 expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的。...远程主机执行命令时需要多次输入密码的情况 expect主要命令 spawn 启动新进程,用于执行shell命令 send 发送字符串给expect控制的进程 set 设置变量 set user root expect 从发起交互的命令的进程接受字符串...,用于匹配我们预想的字符串 exp_continue 继续执行接下来的交互操作 set timeout -1 设置超时时间 永远等待 set timeout 10 设置超时时间 10秒 interact...将脚本的控制权交给用户,用户继续使用shell执行命令 $argv expect 脚本可以接受从bash传递过来的参数 安装expect yum install expect 免密码通过SSH登录服务器...[root@linux /]# 批量获取在线的IP地址机进行批量秘钥分发 [root@linux /]# vim ssh.sh #!

    1.5K30

    如何以非交互方式将参数传递给交互脚本

    问: 我有一个 Bash 脚本,它使用 read 命令以交互方式读取命令参数,例如 yes/no 选项。是否有一种方法可以在非交互脚本中调用这个脚本,并将默认选项值作为参数传递?...我需要向交互脚本传递不止一个参数。 答: 如果你的脚本是通过 read 命令在交互式环境下读取命令参数,并且你希望在非交互脚本中传递参数,那么你可以使用以下几种方法来模拟交互式输入: 1....使用文件描述符 还可以使用文件描述符来模拟交互式输入: exec 3< <(echo -e "arg1\narg2\narg3") ....你的脚本从该文件描述符中读取内容,而不是从标准输入(stdin)中读取。...但是,如果脚本需要更复杂的交互,expect 更合适。

    11110

    Unity与iOS交互,Unity脚本修改Xcode工程

    Unity与iOS交互 Unity调用iOS的方法,首先在Xcode中新建一个iOS的桥接类,并且将.m的后缀修改为.mm 在.h中加入以下代码,里面的函数包括 无返回,返回字符串,返回布尔,带参数的函数等...defined(__cplusplus) } #endif 上面的步骤完成之后,将.h和.mm文件(包括Tools等依赖的文件)拷贝到Unity工程中Assets目录下 在Unity中,新建一个cs脚本...,添加以下代码,这个脚本最好实现成单例,然后就可以通过Instance.IOSGetLanguage()来调用 注意需要引用 using System.Runtime.InteropServices...UnitySendMessage("iOSLibraryUnity", "OnDidReceiveReward", "收到奖励"); } // --------- Unity中挂在节点上的脚本...工程 Unity要在iOS平台发布,需要先生成Xcode工程,通常生成Xcode工程后我们还需要修改很多的配置,添加原生代码等, 而这些是可以通过cs脚本修改的,比如修改Xcode工程的plist、添加

    1.7K10

    AWVS 15漏洞扫描器脚本交互工具

    AWVS-SCAN-Plus 介绍 针对 AWVS 15 版本开发的批量扫描脚本,支持 SpringShell\log4j\常见 CVE\Bug Bounty\常见高危\SQL 注入\XSS 等 专项漏洞的扫描...企业微信机器人 webhook 等,修改完后,将 config_default.ini 文件名改为 config.ini 提示:config.ini 请使用编辑器更改,记事本会改会原有格式 使用方式一:交互式命令行...使用场景: 用于手动交互式进行 AWVS 扫描 使用方式: python awvs_scan.py **************************************************...12 这个参数,在交互式命令的使用场景下,会要求你手动输入已经在 AWVS 里定义好的模板 profile_id。...,方便脚本自动化调用 TODO 【已完成】增加命令行参数形式,运行脚本,方便脚本自动化调用 [ ] 增加导出报告功能 [ ] 漏洞通知增加多渠道:飞书、钉钉 [ ] 增加漏洞信息推送到 webhook

    77210

    Linux 脚本-echo for while if

    linux 系统环境图片lscpu #查看服务器信息 pic1图片free -h #查看内存 pic2图片df -h #查看硬盘信息 pic3图片du -h -d 1 pic4Mar402 15:45:...4.0G /trainee/Mar402图片top # 查看系统进程与任务 pic5 (q退出)htop #是top的高级版 自己的服务区用conda安装 pic6图片图片ps -ef #pic7图片Linux...、位置参数变量、自定义变量,调用变量时,要在变量前面加一个 $ 符号• 环境变量:用于存储有关shell会话和工作环境的系统变量 • 状态变量:用于记录命令的运行结果• 位置参数变量:用于向命令或程序脚本中传递信息...• 自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等自定义变量自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等(注:= 前后不要有空格)Mar402...sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin/usr/games/usr/local/games/snap/bin-----满足上面三个条件才可调用(全局调用脚本

    5.3K20
    领券