公司有 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
shell值班问题。
最新推荐文章于 2024-04-25 12:27:29 发布
本文提供了一个使用Shell脚本解决四名员工A、B、C、D在60天内轮流值班的逻辑,确保A员工不值A岗,且员工不连续两天值班。脚本详细输出了每天的A、B岗位值班人员,如第1天B值班A岗位,第2天C值班A岗位等。
摘要由CSDN通过智能技术生成