2019/02/22 shell脚本编程expect

在这里插入图片描述
有比较好的字符串处理,字符串切片(对字符串的部分内容进行提取)
查看长度
在这里插入图片描述
跳过前3个
在这里插入图片描述
跳过前3个,取4个
在这里插入图片描述
-3等于从 右往左数
在这里插入图片描述
抛头去尾,前三个不要,后4个不要
在这里插入图片描述
先取后面4个,第二次再从右往前数两个
在这里插入图片描述
在这里插入图片描述
offset跳过的意思,因此lengh必须大于offset,是有一定的版本要求的,在7上可以,在6上不可以
在这里插入图片描述
在这里插入图片描述
支持模式取字符串
${var#word} 从左到右,查找var变量里,第一次出现的word,之前的全不要,之后的留着

在这里插入图片描述
贪婪模式,找shell类型就简单了,不要替换,取列什么的
在这里插入图片描述
在这里插入图片描述
普通模式找到第一个斜线停止,贪婪模式找到最后一个斜线
在这里插入图片描述
从右到左
在这里插入图片描述
** 等于通配符,可以理解为从右往左找,一直找到这个单词结束

在这里插入图片描述
找设备名也很简单
在这里插入图片描述
取ip地址
在这里插入图片描述
比cut简单多了
在这里插入图片描述
在这里插入图片描述
想把协议取出,url路径在这里插入图片描述
在这里插入图片描述
取端口号
在这里插入图片描述
在这里插入图片描述
支持字符串的搜索替换
在这里插入图片描述
全部替换//双斜线
在这里插入图片描述
以这个字符串为行首的进行替换加#
在这里插入图片描述
以这个字符串为行尾的进行替换加%
在这里插入图片描述
在这里插入图片描述
也支持搜索删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据某个字符串的状态来决定一个新的变量(根据一个变量的值来决定 另外一个变量的值是什么)
1.var变量,str是变量,expr是表达式。根据str为否设置 ,是否为空来决定var的值,当str没有配置(没声明,没赋值,为空)var=expr字符串,str=""为空,var=空,str非空,var=str
在这里插入图片描述
在这里插入图片描述
虽然默认shell变量可以直接使用,但实际上shell也可以指定类型,内部命令help加在前面
在这里插入图片描述在这里插入图片描述
-xf显示环境函数(代表这个函数可以在子shell使用)
-f显示已经定义的函数名和内容
在这里插入图片描述
-F光有名字不看内容
在这里插入图片描述
-l会把声明的变量为小写字母
在这里插入图片描述
-u会把声明的变量为大写字母
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
evel 后面跟命令,进行两次处理,会扫描后面的有没有变量,如果有变量就把变量替换成它的值
在这里插入图片描述第二次就执行命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面这种方法也可以,把title对应的这个间接变量的值显示出来
在这里插入图片描述
执行命令有的时候是希望,命令不是固定的,是根据情况动态生成的命令,就可以把命令存放在变量里,就可以用变量间接执行里面的命令
在这里插入图片描述
在这里插入图片描述
生成临时文件的命令mktemp,x代表随机字符,避免文件名冲突(X个数大于等于3就可以)
在这里插入图片描述
在这里插入图片描述
-d还可以指定生成。临时文件夹在这里插入图片描述
-p指定生成 的路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
会提示你生成的是什么文件,可以放到变量里,文件路径也可以放到变量里
创建随机文件的时候记录文件名

在这里插入图片描述
可以复制文件,也可以同时起到创建此文件属性的功能(权限所属者,所属组,cp命令执行完还需要chmod/chown更改属性),编译安装(第一步config,第二步make,第三部mkinstall内部就用的的这个命令)
连复制带修改
在这里插入图片描述
-d创建文件夹,mkdir也可以加权限
在这里插入图片描述
在这里插入图片描述
可以认为是一种语言
在这里插入图片描述
excep可以提前把你输入的命令给交互式命令,从而实现自动化操作
ssh ftp scp raid、mdisk划分区、

在这里插入图片描述
except本身就是个交互式命令,安装except
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述捕获hi ,做said hi
在这里插入图片描述
在这里插入图片描述
也可以写成下面 的格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
spawn激活此命令执行
ssh访问慢可能是因为反向解析的有些慢,还有实名认证的关掉

在这里插入图片描述
api验证关掉79行
在这里插入图片描述
dns关闭115行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也支持变量
在这里插入图片描述
在这里插入图片描述
还支持位置参数
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
就可以把5个文件拷贝到100个文件上
在这里插入图片描述
写完这个就可以另外写个脚本调用
在这里插入图片描述
也可以把ip存入到文本,读文本就可以
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
expect(针对机器不太多的情况几十台)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值