免交互
一、交互的概念 与Linux中的运用
1、定义
交互:当计算机播放某多媒体程序的时候,编程人员可以发出指令控制该程序的运行,而不是程序单方面执行下去,程序在接受到编程人员相应的指令后而相应地做出反应。
对于Linux操作系统中,有许多操作都会触及到交互(根据系统的指示做出相对应的操作满足操作者的需求),对于shell脚本的自动化运维,就要实现免交互来达到自动化运维的效果
常用的交互程序:read,ftp,passwd,su,sudo,fdisk等等
cat也可配合免交互的方式重定向输出到文件。
Here Document的作用:
- 使用I/O重定向的方式将命令列表提供给交互式程序;
- 标准输入的一种替代品。
2、多行重定向
语法格式:
命令 <<开始标记
.......................
......................
结尾标记
read 命令的读取
[root@localhost jiaohu]#read a <<EOF
> this is a test
> hello world
> EOF
[root@localhost jiaohu]#echo $a
[root@localhost jiaohu]#read a <<jiewei
> this is a test2
> jiewei
[root@localhost jiaohu]#echo $a
3、举例
3.1 wc -l 的内容行数统计
[root@localhost jiaohu]#wc -l <<EOF
> aaaaa
> bbbbb
> ccccc
> ddddd
> eeeee
> ddddd
> EOF
3.2 passwd用户密码的修改
[root@localhost jiaohu]#passwd <<EOF
> 12341234
> 12341234
> EOF
3.3 cat 查看内容以及免交互输入内容至文件
cat 查看免交互输入内容 :
[root@localhost jiaohu]#cat <<EOF
> my name is zhangsan
> hello world
> EOF
3.4 cat 查看交互内容并输出到新的文件中 :
[root@localhost jiaohu]#cat <<EOF>test.txt
> hello world
> i im zhangsan
> EOF
[root@localhost jiaohu]#cat test.txt
3.5 tee命令重定向输出加标准输出
[root@localhost jiaohu]#tee test2.txt <<EOF
> this is tee test
> EOF
this is tee test
[root@localhost jiaohu]#cat test2.txt