一、我们发出指令控制程序的运行,程序在接收到指令之后按照指令的效果做出对应的反应,也就是不需要进入到文件内部,可以在文件外对文件内容进行操作。
二.1.Here Document 免交互:这是命令行格式,也可以写脚本当中,通过l/o重定向的方式将命令的列表传送给交互式程序或命令,是标准输入的一种代替品,代替了人工的输入方式。
语法格式:
命令 (linux的系统命令)<<标记
内容1
内容2
内容3
标记
2..注意事项:标记可以是任意合法字符(一般不用特殊字符,不以数字开头,通常以EOF做为默认的标记位)
结尾的标记一定要顶格写,且前面不能有任何字符,空格也不行
结尾的标记后面也不能 有任何字符,包括空格
开头的标记可以加空格,但是会被自动省略(开头标记前一般也没有空格)
重定向输入
通过tee也可以实现重定向输入
免交互也能传参:引入变量
给整体文件赋值
去掉每行之前的tab字符
三、Expect实现免交互
1.用tcl语言写的一个工具,主要用自动化控制和测试,解决shell脚本交互的问题
2.转义符:
\n:换行
\r:回车
\t:相当于一个tab键
\b:表示退格删除
3.试验1:必须写完脚本执行前要赋权,查看用./
试验2:如何用传参的方式来表示
四、嵌入执行模式:
1.就是将expect免交互和shell脚本相结合,涉及到环境的切换的场景不建议使用嵌套,比如ssh、sh不适合使用嵌套模式。
试验1
2.工作中的免交互
ssh自动登录