Tag: Shell: expect – 自动交互脚本

Shell: expect – 自动交互脚本, linux 自动化, shell自动化, expect教程中文版:expect实例

启用选项 -c:执行脚本前先执行的命令,可多次使用。 -d:debug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用exp_internal 1相似。 -D:启用交换调式器,可设一整数参数。 -f:从文件读取命令,仅用于使用#!时。如果文件名为”-“,则从stdin读取(使用”./-“从文件名为-的文件读取)。 -i:交互式输入命令,使用”exit”或”EOF”退出输入状态。 --:标示选项结束(如果你需要传递与expect选项相似的参数给脚本时),可放到#!行:#!/usr/bin/expect --。 -… Read More

Shell: expect – 自动交互脚本, linux 自动化, shell自动化, expect教程中文版:expect说明

样式匹配 *号 expect "hi*" send "$expect_out(0,string) $expect_out(buffer)" 输入philosophic,输出为hilosophic philosophic,hi*匹配的是hilosophic 如果是hi*hi,则匹配的是hilosophi 如果是*hi*,则匹配的是philosop hi c\n ,而不是p hi losophic\n,因为匹配是从左到右进行,且*尽可能匹配更多的字符,但是要符合样式,所以第一个*匹配的字符多一些 以*开头的样式并不经常用到,像*hi*,它能把前面不匹配的数据保存在expect_out(0,string),但是expect_out… Read More

Shell: expect – 自动交互脚本, linux 自动化, shell自动化, expect教程中文版

摘要 现代的Shell对程序提供了最小限度的控制(开始,停止,等等),而把交互的特性留给了用户。这意味着有些程序,你不能非交互的运行,比如说 passwd。有一些程序可以非交互的运行,但在很大程度上丧失了灵活性,比如说fsck。这表明Unix的工具构造逻辑开始出现问题。Expect恰恰 填补了其中的一些裂痕,解决了在Unix环境中长期存在着的一些问题。 Expect使用Tcl作为语言核心。不仅如此,不管程序是交互和还是非交互的,Expect都能运用。这是一个小语言和Unix的其他工具配合起来产生强大功能的经典例子。 本部分教程并不是有关Expect的实现,而是关于Expect语言本身的使用,这主要也是通… Read More