Практическое задание

Эта задача — шаг 8 курса «Bash-скрипты: от цикла до надёжного скрипта»

Ветвление через && и ||

средне~7 мин

Допиши скрипт /root/run.sh так, чтобы он создавал файл /root/result_ok, если команда grep -q ready /var/run/status завершилась успешно, и файл /root/result_fail, если неуспешно. Ветвление сделай через && и || (без if).

Что потренируешь:
  • &&
  • ||
  • коды возврата
  • ветвление
  • grep -q

Разбор темы

Каждая команда возвращает код выхода: 0 — успех, ненулевой — ошибка. && выполняет следующую команду только при коде 0 предыдущей, || — только при ненулевом. Идиома cmd && ok || fail заменяет короткий if, но с нюансом: если ok сама завершится с ошибкой, сработает и fail. grep -q удобен как условие — он не печатает вывод, а лишь сообщает результат кодом возврата.

Что проверяется

  1. скрипт использует && и ||
  2. верная ветка при успехе grep
  3. верная ветка при неуспехе grep

Как это выглядит