免交互执行

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

sed

awk

对文本内容进行免交互:

here document :

对文本内容进行操作,是标准输入的替代品

格式:

命令 <<标记

内容

标记

命令:linux命令

注意事项:
  1. 标记可以使用任意合法字符(字母,数字,一般不使用特殊符号),一般使用EOF为标记。
  2. 结尾标记一定要顶格写,且在结尾的标记前不能有任何字符(包括空格)。
  3. 开头标记前的空格会自动省略,一般不加。

在文本中追加和输入内容:

tee :

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

expect免交互:

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

expect是建立在tcl语言中的工具(使用前要声明)

执行方式:只能赋权执行

常用的转译字符:

\n :换行

\t :制表符,就是tab键

\r :就是回车

\b :退格符

格式

spawn:在后面一般添加linux命令,表示开启会话或者进程

跟踪后续信息

spawn passwd root

expect :捕获命令相关内容,字符串匹配

send

发送指令,模拟用户输入

方式1:

expect “密码” { send “123456\r” }

方式2:

expect “密码”

send “123456\r”

(换行写不需要花括号)

方式3:

expect

{

“密码1” { send “123456\r” }

“密码2” { send “123456\r” }

“密码3” { send “123456\r ”}

}

结束符

expect eof

表示免交互结束,等待执行结束,退回原来的用户(终端)

exprct默认等待时间10s

interact

执行完成之后保持状态,把控制权交给控制台,然后停留在目标终端,不会退回

set

定义变量,设置参数

set timeout 5

exp_continue

和expect命令一起使用,继续向下执行指令,接着捕获其他选项,是附加在expect判断项之后

格式:

expect {

“connecting  (yes/no)?” {send “yes\r” ; exp_continue;}

}

expect

send_user

回显命令,和echo一样,打印内容

利用免交互更改密码:

切换用户,传参的方式

嵌入执行:

将expect免交互的过程和shell结合起来

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

/usr/bin/expect <<-EOF

开启执行expect,但是仅限于嵌入式

实现ssh自动登录

传参方式执行:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值