Linux免交互

免交互:也就是不需要进入到文件内部,可以在文件外对文件内容进行操作

sed  改、增

awk  按行取列

1、如何对文本内容进行免交互

here document免交互   针对文本内容进行操作(标准输入的替代品)

语法格式

命令 << 标记

内容

标记

命令:Linux的命令

注意事项:

1、标记可以使用任意合法字符(字母和数字,一般不包括特殊符号。一般以字母为开头。一般以EOF为标记)

2、结尾标记一定要顶格写,而且在结尾标记前面不能有任何字符(包括空格)

3、在开头标记前加空格,会被自动省略(开头标记前最好也不要有空格)

Linux免交互_第1张图片

Linux免交互_第2张图片

Linux免交互_第3张图片

tee  本身就具有标准输出的作用,可以直接把内容输入到文件中

Linux免交互_第4张图片

Linux免交互_第5张图片

Linux免交互_第6张图片

Linux免交互_第7张图片

整体赋值给变量

Linux免交互_第8张图片

关闭传参

Linux免交互_第9张图片

如何去掉每行之前的tab字符(不是空格键)

Linux免交互_第10张图片

Linux免交互_第11张图片

Linux免交互_第12张图片

expect免交互(shell脚本中实现免交互)

自动化控制和测试,解决shell脚本中交互的问题

expect建立在tcl语言基础上的工具

Linux免交互_第13张图片

Linux免交互_第14张图片

Linux免交互_第15张图片

Linux免交互_第16张图片

Linux免交互_第17张图片

Linux免交互_第18张图片

Linux免交互_第19张图片

Linux免交互_第20张图片

Linux免交互_第21张图片

Linux免交互_第22张图片

嵌入执行模式:

嵌入执行,将expect免交互的过程和shell结合起来

ssh su 会涉及到终端切换,不建议使用嵌入式执行

#!/bin/bash

user=$1

passwd=$2

不需要交互的命令可以放在expect外面执行

useradd $add

密码环节我们开始执行免交互

/usr/bin/expect <<-EOF

开启执行的表示,仅限于嵌入式

spawn passwd $user

expect “新的*”

send “${passwd}\r”

expect “重新*”

send “${passwd}\r”

expect eof

EOF

Linux免交互_第23张图片

如何实现ssh自动登录

Linux免交互_第24张图片

你可能感兴趣的:(linux,运维,服务器)