一,免交互
Here document 免交互
对文本内容进行操作:
标准输入的替代品。
语法格式:
命令 <<EOF
内容
EOF
注意事项:
1,标记可以使用任意合法字符。(字母和数字,一般不使用特殊符号,以字母开头:EOF)
2,结尾标记一定要顶格写,而且在结尾的标记前不能有任何字符(空格也不能有)。
3,开头的标记可以加空格,但是会被自动省略(开头标记前一般也没有空格)
1,免交互方式实现对行数统计,将要统计的内容至于标记之间
wc -l <<EOF
>111
>123
>123
>EOF
通过passwd给用户设置密码
变量替换
二,Expect
建立再tcl语言基础上的一个工具
必须赋权执行
spawn
spawn后面一般都是Linux的命令,表示开启会话或者进程
跟踪后续的交互信息。
spawn passwd root
expect
捕获
捕获命令的相关内容,字符串匹配
send (发送)
发送指令,模拟用户的输入
结束符:
expect eof
表示交互结束,等待执行结束,退回到原来的用户
expect 默认等待时间10S
#退回之前的终端
interact
执行完成之后保持状态,把控制权交给控制台,然后停留在目标终端,不会退回原终端
注意点:只能二选一。
send_user
回显命令,跟echo一样,打印内容
shell当中执行不需要交互的命令
需要交互的指令给expect
/usr/bin/expect <<-EOF
在shell脚本中开启免交互指令
结束符写在EOF之前