Загрузка данных


# 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