#!/bin/bash while read line; do prev=$line done < ./status number=$1 drive=/dev/scd$number group0=( $number $prev ) case $number in ( 0 | 1 ) group=1; z=25; f=47;; ( 2 | 3 ) group=2; z=40; f=38;; ( 4 | 5 ) group=3; z=50; f=32;; ( 6 | 7 ) group=4; z=60; f=24;; ( 8 | 9 ) group=5; z=70; f=17;; ( 10 | 11 ) group=6; z=74; f=8;; esac case $prev in ( 0 | 1 ) groupp=1;; ( 2 | 3 ) groupp=2;; ( 4 | 5 ) groupp=3;; ( 6 | 7 ) groupp=4;; ( 8 | 9 ) groupp=5;; ( 10 | 11 ) groupp=6;; esac # echo current group ${#grp[*]} if [[ $number != $prev ]] && [[ $group == $groupp ]]; then echo "collision!" echo close $prev and open $number # python step.py $f; sleep 2; python step.py $z Z eject /dev/scd$prev -ts; eject /dev/scd$number elif [[ $number == $prev ]]; then echo "same?" else echo "no collision" echo open $number and close $prev eject /dev/scd$number -s; eject /dev/scd$prev -ts & python step.py $z Z; sleep 1; python step.py $f; fi # echo temp array ${group0[*]} echo $drive goes open echo $number > ./status