辛苦写好Shell脚本,忘记参数怎么办?

发表于:2022-5-06 09:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:书包    来源:51Testing软件测试网原创

  之前投稿的《小白也能学会的Shell脚本》大家都有看过么?看过的小伙伴,有没有自己尝试用到工作中呢?
  前一段时间,我测试了一个文件传输组件,它有什么功能呢?
  支持多文件并发多线程发送,在海量小文件场景上能够很好地利用网络带宽进行文件传输。支持TB级文件传输,为提升单个文件的发送效率,支持通过脚本将超大文件切分为多个小文件进行并发传输。
  支持多种规则配置,通过规则引擎进行策略化处理,支持发送规则、接收规则,表达式等机制,能够灵活地满足文件传输中的多种传输场景。
  上面两条只是一部分描述,简单说就是,同一个计算机集群,每台服务器都安装好我们的软件,然后就可以通过Web服务,直接在网页上设计任意两台计算机直接的文件传输,并且可以进行规则的配置。
  为了更形象一点,把我们的产品截个图,左边是发送节点,点开可以进行配置,右边是接收节点,同样点开可以进行配置。
  这里主要解释一下,接收端规则:发送端把目录下所有文件发往接收端,接收端只接收前缀是deno的文件(即deno开头即可)。

  为了测试不同的规则配置,我需要很多大小不同、文件名不同(前缀不同)的文件。
  自从从上次学会了写简单的Shell脚本后,很久没有用武之地了,这次又能实战演练了。

  设计思路
  1、我需要知道Linux系统下,有什么命令可以生成文件,还能指定文件名、文件大小之类的。
  2、我需要3个参数,文件大小、文件个数、文件前缀。
  3、文件个数,依然使用我们熟悉的for循环实现。
  有了思路之后,就是实现了,生成文件的命令,由于之前没有接触过,直接百度搜索。后面的思路,都是上次初学Shell脚本GET的知识点。经过一番调试和自我测试,有了下面的脚本。
#! /bin/bash  
#第一个参数$1:文件大小  
#第二个参数$2:文件个数  
#第三个参数$3:文件前缀  
for((i=1;i<=$2;i++));  
do  
        truncate -s $1M $3$i.file  
        echo "文件 $3$i.file 创建完毕"  
done  

......
查看更多精彩内容,请点击下载:
http://www.51testing.com/html/92/n-6127792.html
  版权声明:本文出自《51测试天地》第六十五期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号