shell脚本函数

目录

一、shell函数

1.作用

2.函数的格式

3.查看函数

4.函数的作用范围

5.函数的简单应用

①.计算阶乘

 ②.检测防火墙是否关闭

二、免交互

1、简介

2、expect主要作用

①、追踪需要交互的指令

②、捕捉提示进行交互的关键词

③、传入交互指令,回车执行

3、基本命令

①脚本解释器

②、spawn

③、expect

④、send

⑤、结束符expect eof/interact

⑥、set

⑦、exp_continue

⑧、send_user

4、基本格式


一、shell函数

1.作用

 为了简化重复的劳动,shell函数可以实现脚本某些特定功能的模块化,同时也方便脚本的理解。

2.函数的格式

函数名 () {

commands

}

function 函数名 {

commands

}

function 函数名 () {

commands

}

3.查看函数

declare -F       查看当前系统的所有函数

declare -f        查看当前系统的所有函数的定义规则

4.函数的作用范围

①函数在shell脚本中仅在当前shell环境中生效

②shell脚本中变量默认全局有效

③将变量限定在函数内部使用local命令

 这里的a只在函数内部有效

5.函数的简单应用

①.计算阶乘

输入任意一个数字,计算阶乘

 

 ②.检测防火墙是否关闭

创建一个函数

外部引用

 

 

 PS:注意不要使用系统已经定义的函数,否则将会使相应的指令失效。

二、免交互

1、简介

免交互expect时建立在tcl语言基础上的一个工具,常被用于进行自动化控制和测试,解决shell脚本中交互相关的问题。通过对关键字的追踪,自动输入需要交互的命令,完成自动化操作。

2、expect主要作用

①、追踪需要交互的指令

spawn表示开启一个关键字追踪

②、捕捉提示进行交互的关键词

expect

③、传入交互指令,回车执行

send

3、基本命令

①脚本解释器

expect脚本中首先会引入文件,表明使用的是哪一个shell,否则不识别

#!/usr/bin/expect

②、spawn

spawn后面通常跟一个linux执行命令,表示开启一个会话、启动进程

③、expect

判断上一个输出结果中是否包含指定的字符

④、send

向进程发送字符串,用于模拟用户的输入;该命令不能自动回车执行,一般要加、r或者是、n

⑤、结束符expect eof/interact

交互结束

expect eof 等待执行结束,退回到原用户,与spawn对应

interact 执行完成后保持交互后状态,把控制权交给控制台,会停留在目标终端而不会退回到原终端,此时可以手动操作。

⑥、set

expect默认超时时间是10s,可以手动设置。如想不限制超时时间,则可以设置超时时间为-1

⑦、exp_continue

exp_continue附加于expect之后,可以继续捕捉关键词,进行下一步操作

⑧、send_user

表示回显命令,相当于echo

4、基本格式

#!/usr/bin/expect << -EOF //-可以省略

spawn  commond

expect {

" 关键词"    //获取的内容和发送的内容不能在同一行,否则执行不成功

{send "需要交互的指令\r";exp_continue}

"关键词"

{send "需要交互的指令\r";}

}

EOF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值