diff --git a/lock-cable.sh b/lock-cable.sh index 11627fedcf7e1812f918650e3c7022758ec9578a..1a42ab3660e2299b2efaf05a168d4ad8e4e6a643 100755 --- a/lock-cable.sh +++ b/lock-cable.sh @@ -26,35 +26,25 @@ # Exit status # - 0 : Lock file created for cable # - 101 : CABLES_LOCKED_FOLDER missing +# - 102 : CABLE_COLOR missing +# - 103 : cable already locked CABLES_LOCKED_FOLDER=$1 +CABLE_COLOR=$2 if [ -z $CABLES_LOCKED_FOLDER ] then exit 101 fi -while [ -z ${CABLE} ] -do - - sleep 1 - - if [ -f ${CABLES_LOCKED_FOLDER}/blue.lock ] && [ -f ${CABLES_LOCKED_FOLDER}/red.lock ] && [ -f ${CABLES_LOCKED_FOLDER}/green.lock ] - then - continue - fi - - CABLE=blue - - if [ -f ${CABLES_LOCKED_FOLDER}/red.lock ] && [ ! -f ${CABLES_LOCKED_FOLDER}/green.lock ] - then - CABLE=green - elif [ -f ${CABLES_LOCKED_FOLDER}/blue.lock ] && [ ! -f ${CABLES_LOCKED_FOLDER}/red.lock ] - then - CABLE=red - fi +if [ -z $CABLE_COLOR ] +then + exit 102 +fi -done +if [ -f ${CABLES_LOCKED_FOLDER}/${CABLE_COLOR}.lock ] +then + exit 103 +fi -echo ${CABLE} -mkdir -p ${CABLES_LOCKED_FOLDER} && touch ${CABLES_LOCKED_FOLDER}/${CABLE}.lock +mkdir -p ${CABLES_LOCKED_FOLDER} && touch ${CABLES_LOCKED_FOLDER}/${CABLE_COLOR}.lock