随机生成可变大小的测试文件

时间:2010-12-06 23:01:35

标签: bash automated-tests

这是我计划用来生成500个填充了随机数据的测试文件的脚本。

for((counter=1;counter<=500;counter++));
          do
             echo Creating file$counter;
             dd bs=1M count=10 if=/dev/urandom of=file$counter;

               done

但我需要脚本做的就是让这500个文件的大小可变,比如在1M和10M之间;即,file1 = 1M,file2 = 10M,file3 = 9M等...

任何帮助?

3 个答案:

答案 0 :(得分:5)

这将生成500个文件,每个文件包含1到10兆字节的随机字节。

#!/bin/bash
max=10    # number of megabytes
for ((counter=1; counter<=500; counter++))
do
    echo Creating file$counter
    dd bs=1M count=$(($RANDOM%max + 1)) if=/dev/urandom of=file$counter
done

第二行可能是:

for counter in {1..500}

答案 1 :(得分:3)

set MAX=10
for((counter=1;counter<=500;counter++));
do
  echo "Creating file$counter"
  dd bs=$(( ($RANDOM%$MAX)+1  ))M count=10 if=/dev/urandom of=file$counter
done

答案 2 :(得分:1)

尝试$((1+$RANDOM%$MAX))