软件测试之初,shell脚本就是为了理解这个概念,而那时候这个技能基本用不上,大部分工作都是一点一点做的。
现在因为行业的原因,我们经常要在linux服务器上做一些常见的操作。如果没有遇到百度,你会慢慢学习一些以前没有接触过的linux命令,也会开始阅读关于shell脚本的书籍。不经过实战、不经过实践的看书,就会有概念。
Linux命令用的比较多,自然就想到了shell脚本,想用它来解决工作中的一些重复性操作,于是边学边开始用,效果还不错。
工作场景:
测试的时候,我们会把软件包复制到管理平台的软件仓库,如果仓库里有,我们会覆盖。
手动操作的过程如下:
Wget【url】:下载软件包,压缩包格式;
Tar-zxvf xxx.tar.gz:将软件包解压到当前文件;
进入解压文件,包含2个文件夹,然后依次复制。这里使用scp命令,-r表示递归目录。scp -r xxx/ /opt/xxx
为什么这里不用cp?因为找到cp覆盖的时候总是提示手动确认,太繁琐了。所以这里用的是scp命令,常用于两台服务器之间的远程拷贝。
这个软件包更换过程做了很多次,已经熟悉和熟悉了。突然有一天,要告诉一个不懂linux命令的人完成软件包替换。这个稍微难一点。考虑到我经常做这个操作,又不想白教别人,就写个简单的shell脚本吧。
设计思路如下:
#!/bin/bash
#获取当前时间
cur_date=`date +%Y%m%d-%H-%M '
tmp_dir=service_$cur_date
#按时间创建文件夹。
mkdir $tmp_dir
cd $ tmp _目录
回声& # 34;访问目录:& # 34;$tmp_dir
#下载
回声& # 34;将文件下载到& # 34;$tmp_dir
wget
#解压缩
回声& # 34;解压缩文件& # 34;
睡眠3
tar -zxvf *.tar.gz
回声& # 34;解压完成,压缩包删除& # 34;
rm -rf *.tar.gz
因为我在
做
回声& # 34;包的文件夹名:& # 34;$i
临时目录包=$i
完成的
cd $ tmp _目录_包
回声& # 34;输入软件包目录:& # 34;$临时目录包
回声& # 34;开始将软件包复制到ole depot/opt/& # 34;
scp -r封装//可选/
scp -r存储库/ /opt/
回声& # 34;拷贝软件包,别忘了在sole软件仓库刷新!!!"
睡眠3
1将下载地址作为位置参数传递到脚本中。
2根据当前时间,具体到分钟,在脚本所在的文件中创建一个文件夹,名字用那个时间,避免重复文件夹名什么的。
进入这个文件夹,下载压缩包。
4解压压缩包,然后删除压缩包,为下一步做准备。
解压后就是一个文件夹。让我们得到这个文件夹的名字,然后进去。
复制文件,然后完成。
实现如下:
好了,写了一个简单的脚本,脚本知识点是:
1.反引号的使用。反引号的作用是首先执行反引号中的Linux命令,然后将执行结果赋给变量。
2.位置参数的使用
3.创建文件夹,删除,解压,回显,睡眠
4.scp副本,远程副本
5.for循环

6.wget下载
最后:1)关注+私信回复:“测试”,即可免费获得10G软件测试工程师面试文档一份。以及相应的视频学习教程免费分享!,包括基础知识、Linux essentials、Mysql数据库、抓包工具、接口测试工具、高级测试——Python编程、Web自动化测试、APP自动化测试、接口自动化测试、高级持续集成测试、测试架构开发测试框架、性能测试等。
2)关注+私信回复:& # 34;入群& # 34;可以邀请到软件测试群学习交流~ ~








