101-shell脚本初次体验-for循环的编写

        前言:作为测试工程师,肯定少不了对shell脚本的使用和编写,无论是在部署软件系统,还是执行某种命令操作,都会使用到shell脚本,今天就开始才从实战上开始学习shell脚本的编写以及运行。

 

1、依赖环境

shell 通常是运行在linux系统上

(1)新建脚本文件

touch test.sh

(2)编辑为可执行权限

chomd +x test.sh

(3)vi编辑文件

vi test.sh

(4)运行脚本

sh test.sh

注意,如果不通过上述步骤,直接将本地Windows编写好的sh文件上传上去运行,有可能会报各种错误

比如“\r” 命令执行不正确,等等错误

2、shell之for循环的编写

#!/bin/sh
echo "shell脚本-单层循环"
export test=fio

rwmode=("a b c d")
bssize=("1 2 3 4")

for i in ${rwmode[@]}
do 
    echo $i
    echo $(date +%F%n%T)
	
done;

结果:

2.2 for 按照次数循环的写法

#!/bin/sh
echo "shell脚本-循环制定次数"
for i in {1..10};
do
 echo ${i};
 echo "你好";
done
#备注:上述就是循环10次的写法,尤其注意是该有的空格和分号不能少

#备注:上述就是循环10次的写法,尤其注意是该有的空格和分号不能少 

嵌套循环第1种

#!/bin/sh
export test=fio
echo "shell脚本-嵌套循环第1种"
rwmode=("a b c d")
bssize=("1 2 3 4")

for i in ${rwmode[@]}
do 
    echo $i
    echo $(date +%F%n%T)
	
    for j in ${bssize[@]}
    do	
	  echo $j
    done;
done;

嵌套循环第2种

#!/bin/sh
export test=fio
rwmode=("a" "b" "c" "d")
bssize=("1" "2" "3" "4")

for i in ${rwmode[@]}
do 
    echo $i
    echo $(date +%F%n%T)
    for j in ${bssize[@]}
    do	
	  echo $j
    done;
done;

两种嵌套循环的不同就是在于,遍历数组的编写方式不同,两种都可以。

以上代码已经实际运行验证过

3、for循环的理论实战

Nas项目的fio工具使用的实战,下面的代码并未实际检验,主要是因为需要结合工具,不过为了学习循环shell脚本的编写是够了

#!/bin/sh

export test=fio

rwmode=( "write" )
bssize=( "4k" )

for j in  ${rwmode[@]};
    do for i in  ${bssize[@]};
        do echo "cluster_fenbujuan_$j_$i_1job"
        echo $(date +%F%n%T)
        fio -directory=/hlstor/cluster/fenbujuan1 -rw=$j -bs=$i -direct=1 -iodepth 8 -ioengine=libaio -size 10M  -thread -numjobs=1 -runtime=60 -group_reporting -name=$j_$i_1job
        echo $(date +%F%n%T)
        sleep 60
        echo 3 > /proc/sys/vm/drop_caches
    done;
done;

总结,今天主要学习了关于编写脚本并执行的基本流程,学习了单层for循环和嵌套for循环的写法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值