公司有 a b c d 四个人
有值班岗位两个A B
每天需要两个人来分别值A、B两个岗位
a员工始终不值A这个岗位
同一个人不能连着两天值班
排出在60天内的值班表
#!/bin/bash
day=60
i=1
gan=([1]=A [2]=B)
ren=([1]=A [2]=B [3]=C [4]=D)
a_old=F;a_new=F;b_old=F;b_new=F
echo -e "day /t A /t B "
echo "--------------------------"
while [ $i -le $day ]
do
#a---
for r in ${ren[@]}
do
if [ $r != A ];then
if [ $r != $a_old -a $r != $b_old -a $r != $a_new -a $r != $b_new ];then
a_new=$r
break
fi
fi
done
#b--
for r in ${ren[@]}
do
if [ $r != $a_old -a $r != $b_old -a $r != $a_new -a $r != $b_new ];then
b_new=$r
break
fi
done
#----------echo-------
echo -e "$i /t $a_new /t $b_new"
a_old=$a_new;b_old=$b_new;a_new=F;b_new=F
i=$[ $i + 1 ]
don
shell值班问题。
最新推荐文章于 2024-07-22 14:29:05 发布