• 0
  • 0
分享
  • 小白也能操作Linux,简单的shell脚本编写边学边用——软件测试圈
  • 曼倩诙谐 2021-12-22 09:30:52 字数 1503 阅读 592 收藏 0

  在刚入行软件测试的时候,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_dir  
echo "进入目录:"$tmp_dir  
#下载  
echo "下载文件到"$tmp_dir  
wget $1  
# 解压  
echo "正在解压文件"  
sleep 3  
tar -zxvf *.tar.gz  
echo "解压完成,开始删除压缩包"  
rm -rf *.tar.gz  
for i in `ls`  
do  
        echo "软件包的文件夹名:"$i  
        tmp_dir_package=$i   
done  
cd $tmp_dir_package  
echo "进入包目录:"$tmp_dir_package  
echo "开始拷贝软件包到ole软件仓库/opt/"  
scp -r package/ /opt/  
scp -r repository/ /opt/  
echo "软件包拷贝完成,别忘了去sole软件仓库刷新啊!!!"  
sleep 3

  1、将下载地址作为位置参数传入脚本

  2、根据当前时间,具体到分钟吧,在脚本所在文件创建一个文件夹,名称就用上那个时间,避2免文件夹重名啥的

  3、进入这个文件夹,下载压缩包

  4、解压压缩包,然后删除压缩包,为下一步做准备

  5、解压后就一个文件夹,我们获取一下这个文件夹名字,然后进去

  6、拷贝文件,完成。

  具体实现如下:

  好了一个简单的脚本写好了,脚本知识点:

  1、反引号的使用,反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量

  2、位置参数的使用

  3、创建文件夹、删除、解压、echo、sleep

  4、scp拷贝,远程拷贝

  5、for循环

  6、wget 下载



作者:书包   

来源:http://www.51testing.com/html/67/n-4480467.html



2021 问卷礼物图.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 引言对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试、兼容性测试、安装和卸载测试、软件更新测试、性能测试、用户体验性测试、交叉事件测试、用户界面测试等。功能测试要点及常见缺陷常见的功能类缺陷APP崩溃这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出“强制关闭错误”的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:验证在有不同...
            14 14 1452
            分享
          • 通过前一节的学习,我们用一些实际测试中的例子快速回顾了下我们在日常测试用例设计时最常用的两个方法——等价类划分法、边界值法,……通过这些方法的回顾,我们对这些平日里习以为常的方法有了更多与实战相结合的理解。这一节,我们将在此基础上做一个延伸,从实际需求出发,换一个视角,来应用这些测试用例设计的基本方法,从而加深我们对这些方法的理解。在实际测试过程中,特别是涉及UI界面的功能测试时,很多同学都会有一种照着需求文档的描述写用例的习惯。需求怎么写,用例就怎么设计,它怎么描述功能点,我就根据描述来设计用例,缺少从更高的角度审视这个需求的视角。这样的方法很容易出现测试用例的遗漏,导致测试的遗漏。我就以大...
            0 0 56
            分享
          • 前言:本篇讲堂是紧接【安全测试工具-进阶篇[身份验证漏洞]】的内容。例牌,先说下安全测试工具的更新情况【工具地址:https://gitee.com/samllpig/SafeTool-51testing】服务平台,增加HTTP服务监听模块集成平台,增加模糊测试插件,并实现四种模糊测试算法,普通模式、单点模式、草叉模式和集束模式。普通模式:单个字典,单个测试点单点模式:单个字典,多个测试点,顺序使用字典草叉模式:  多个字典,多个测试点,顺序使用字典集束模式:  多个字典,多个测试点,组合使用字典,笛卡尔积算法实现 学员收获:掌握常见的密码重置...
            0 0 46
            分享
          •   互联网新趋势和新要求的推动下,测试行业也在不知不觉中发生着非常大的改变,从早些年的懵懂发展,到大多数高校设立软件测试专业,再到近几年各种测试培训盛行。  如果说早期软件测试行业还是一个风口,随着转行人员及毕业的大学生疯狂地涌入,目前软件测试行业的“缺口”已经基本饱和,最基础的功能测试的岗位需求已经越来越少。软件测试行业的门槛,也从真正的零基础,到现在的要求具备计算机专业能力(包括但不限于编程能力),软件测试在企业中,特别是在互联网行业的企业中,也从可有可无发展到不可或缺。  如果把测试行业按照发展时期来分,可分为以下 2 个阶段:  1) 2010 年以前,在绝大多数企业中,测试实践的重心...
            0 0 627
            分享
          • (1)邮箱测试用例1.输入正确格式的数据(17526911180@qq.com)2.只输入汉字数据3.只输入字母数据4.只输入数字数据5.输入数据为空6.输入字母,数字,下划线数据7.输入缺少@符号的数据(17526911180.163.com)8.输入缺少邮箱标志符号的数据(17526911180@.com)9.输入缺少黑点的数据(17526911180@qqcom)10.输入黑点位置不正确的数据(17526911180@.qqcom)11.输入缺少.com的数据(17526911180@qq)12.输入@符号位置不正确的数据(17526911180.qq@.com)13.输入@符号和黑点都...
            0 0 9362
            分享
      • 51testing软件测试圈微信