# 1. Создать каталоги
mkdir -p ~/bin
# 2. Создать заглушку back.sh (вариант A — сам выводит PID)
sudo mkdir -p /home/labs
sudo tee /home/labs/back.sh > /dev/null << 'EOF'
#!/bin/bash
echo $$
while true; do
sleep 10
done
EOF
sudo chmod +x /home/labs/back.sh
# 3. Создать case.sh
cat > ~/bin/case.sh << 'EOF'
case $1 in
start)
if [ -f /tmp/back$UID.pid ] ; then
echo Already started
else
/home/labs/back.sh > /tmp/back$UID.pid &
echo Started: $(cat /tmp/back$UID.pid)
fi
;;
stop)
if [ -f /tmp/back$UID.pid ] ; then
kill -kill $(cat /tmp/back$UID.pid) && echo Killed
rm /tmp/back$UID.pid
else
echo Not started
fi
;;
status)
[ -f /tmp/back$UID.pid ] \
&& echo Running: $(cat /tmp/back$UID.pid) \
|| echo Not running
;;
*)
echo "usage: case.sh {start|stop|status}"
;;
esac
EOF
chmod +x ~/bin/case.sh
# 4. Экспортировать UID (если ещё не)
export UID
# 5. Прогон сценария и сохранение в отчёт
{
echo "=== без аргументов ==="
~/bin/case.sh
echo "=== status ==="
~/bin/case.sh status
echo "=== start ==="
~/bin/case.sh start
sleep 1
echo "=== status ==="
~/bin/case.sh status
echo "=== start (повторно) ==="
~/bin/case.sh start
echo "=== stop ==="
~/bin/case.sh stop
sleep 1
echo "=== status ==="
~/bin/case.sh status
echo "=== stop (повторно) ==="
~/bin/case.sh stop
} > ~/report_task1.txt
cat ~/report_task1.txt