#!/bin/bash
read -p "分割的成几个 dir :" dir
read -p "每个 dir 有几个 file :" file
read -p "总共有几个 file :" zong
##判断是否会产生多余的目录或文件
dir_file=`expr $dir \* $file`
dir_1=`expr $dir - 1`
#总个数在 dir * file 与 { dir - 1 } * file 之间才能分配完整
if [ $dir_file -ge $zong ] && [ `expr $dir_1 \* $file` -lt $zong ] ; then
echo "范围正确"
else
echo "范围不正确"
fi
file (){
y=`expr $file - 1`
j=`expr $x - $y `
while [ $j -le $zong ]
do
if [ `expr $j % $file` -eq 0 ] ;then
echo " file == $j"
break 1
else
echo " file == $j"
fi
let j++
done
}
for ((i=1;i<=$dir;i++))
do
echo "dir == $i"
x=`expr $i \* $file`
file
done
[root@localhost `]# ./zxc.sh
分割的成几个 dir :2
每个 dir 有几个 file :3
总共有几个 file :7
范围不正确
dir == 1
file == 1
file == 2
file == 3
dir == 2
file == 4
file == 5
file == 6
[root@localhost `]# ./zxc.sh
分割的成几个 dir :3
每个 dir 有几个 file :2
总共有几个 file :5
范围正确
dir == 1
file == 1
file == 2
dir == 2
file == 3
file == 4
dir == 3
file == 5本文出自 “Dylan的linux生涯” 博客,谢绝转载!
shell 循环--在不同的 dir 下输出不连续的 file
原文:http://dylans.blog.51cto.com/9592382/1704473