Linux(免交互)

免交互概念:

        不需要人为控制就可完成自动化操作

Here Document

使用i/o重定向的方式,将命令的列表提供给交互式的程序或者命令,是一种标准的输入,只能接收正确的指令或者命令

格式:命令   <<标记

          内容/程序

          标记

注意:1.标记可使用任意合法的字符(通常使用EOF作为标记)

           2.结尾的标记要顶格写,前面不能有任何的字符

           3.结尾的标记后面也不能有任何的字符,包括空格

           4.如果开头的标记前有空格,空格会被自动省略

expect

     概念:tcl语言基础之上的一种工具,自动化测试和控制,在脚本中解决交互的问题

     执行方式:1.必须是赋权执行        2.只能用./执行

转义符:

        \n:换行

        \t:制表符,相当于tab

        \r:回车

        \b:退格符(表示删除键)

expect语法

spawn:后面通常跟一个linux的执行命令,表示开启一个会话启动一个进程,并且跟踪后续的交互信息

expect:捕获上一次执行的命令是否包含指定的字符串,如果有会立即返回,否则等待超时自动退出,默认超时时间10s

                只能捕获由spawn启动的进程输出

                设置超时时间的命令 

send:向进程发送字符串,用于模拟用户的输入,该命令不能自动回车,一般后面加一个\n或者\r

格式:

1.

expect " " { send " " }

2.

expect " "

send " "

3.多分支

expect {

                " " {send " " }

                " " {send " " }

                " " {send " " }

}    

注:只要匹配其中一个情况,就会执行相应的send语句,然后退出   

结束符

expect eof : 会切换到之前的终端

interact     :留在当前终端不变

set :设置超时等待时间  不限制的时候-1

        命令格式:set timeout  时间

exp_continue:可在expect判断之后继续匹配expect捕获的其他内容,类似于脚本的continue,表示允许继续向下执行指定

                        使用时,结束语句不能直接使用expect eof

send_user:回显信息,相当于echo,后跟上用户想要输出的内容

接收参数:类似于shell当中的位置变量 $n

set 自定义变量名 [lindex $argv 0 ]

set 自定义变量名 [lindex $argv 1 ]

猜你喜欢

转载自blog.csdn.net/ZZZ_CCC01/article/details/131941994