Оқулық «Федералдық білім беруді дамыту институты»


scripts/teacher/give_all.sh — барлық студенттерге бақылау



Pdf көрінісі
бет141/158
Дата01.07.2023
өлшемі3.83 Mb.
#475485
түріОқулық
1   ...   137   138   139   140   141   142   143   144   ...   158
операциялық жуйелер

scripts/teacher/give_all.sh — барлық студенттерге бақылау 
тапсырмаларын тарату пакеті 
 
#!/bin/bash
# Тапсырмалар нұсқаларын таратуға арналған тапсырма 
# Барлық студенттерге тапсырылған тақырып бойынша 
#
# Шақырту параметрлері:
# $1 – тақырып нөмірі
# Шеңбердің жұмыс айнымалылары:
# BASEDIR – жүйенің негізгі каталогы 


265 
# Бастапқы тексерістер 
####################################
if [ $# -ne 1 ] ; then
echo "шақырту параметрі" echo 
"'basename $0' <тақырып нөмірі>" 
exit 1
fi
if [ " ${BASEDIR:-DUMMY} " == "DUMMY" ] ; then echo 
"Айнымалы \$BASEDIR тапсырылған"
exit 100
fi
if [ ! -d $BASEDIR -o ! -r $BASEDIR -o ! -x $BASEDIR ] 
then
echo "$BASEDIR каталог емес немесе қол жетімсіз " 
exit 101
fi
# Негізгі бөлім #######################################
NUM_VARIANTS='$BASEDIR/scripts/teacher/look.sh $1'
if [ " ${NUM_VARIANTS:-DUMMY} " == "DUMMY" ] ; then echo 
" нұсқалардың жалпы санын алу мүмкін емес "
exit 201
fi
i=1 # нұсқа нөмірінің есептеуіші
for j in 'ls $BASEDIR/students' ; do
# Студент атауының шығуы және нұсқасының 
нөмірі echo "Студентке $j $1тақырыбы 
бойынша $i нұсқасы берілді "
# Тапсырманы іске асыру give.sh тапсырм 
аларды тарату үшін 
$BASEDIR/scripts/teacher/give.sh $1 $i $j 
i='expr $i + 1'
# Егер есептегіш максималды нөмірге жетсе
if [ $i -gt $NUM_VARIANTS ] ; then
i=1 # тастаймыз fi
done
scripts/teacher/gather.sh — орындалған бақылаудың жинағы
 
#!/bin/bash


266 
# Студенттің жұмыс каталогындағы ready каталогшасынан 
орындалған бақылауларды жинауға арналған тапсырма 
#
# Шақырту параметрі : жоқ
# Жұмыс айнымалы шеңбері:
# BASEDIR – жүйенің негізгі каталогы # Начальные 
проверки ################################### if [ " 
${BASEDIR:-DUMMY} " == "DUMMY" ] ; then echo "айнымалы 
\$BASEDIR берілмеген" exit 100 fi
if [ ! -d $BASEDIR -o ! -r $BASEDIR -o ! -x $BASEDIR ] 
then
echo "$BASEDIR каталог емес және қол жетімсіз " 
exit 101
fi
WORKSDIR=$BASEDIR/teacher/works
if [ ! -d $WORKSDIR -o ! -r $WORKSDIR -o ! \
-x $WORKSDIR ]; then
echo "$WORKSDIR каталог емес немесе қолжетімсіз " 
exit 101
fi
# негізгі бөлім #######################################
for i in 'ls $BASEDIR/students' ; do
READYDIR=$BASEDIR/students/$i/ready if [ ! -d 
$READYDIR -o \
! -x $READYDIR -o \
! -r $READYDIR ] ; then
echo " ready каталогы студентте $i жоқ немесе 
қолжетімсіз \ "
else
for j in 'ls $READYDIR' ; do
mv $READYDIR/$j $WORKSDIR/$i-$j
RETCODE=$?
if [ $RETCODE -ne 0 ] ; then
echo "студентте $j жұмысымен файл 
қолжетімсіз $i "
else
echo "студенттен $i \ $j" 
жұмысымен файл алынды fi
done
fi
done




Достарыңызбен бөлісу:
1   ...   137   138   139   140   141   142   143   144   ...   158




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет