Код завершения
В терминале: zvezda learn exitcode. Урок покажет карточку и завершится; сделайте шаг и снова запустите урок - он проверит и покажет следующую.
Шаг 1 из 3
Дарья: Кэндзи записал: «программа не только печатает - она ещё и сообщает, как всё прошло, числом: кодом завершения. 0 - успех; что значит другое число, решает сама программа». Код последней команды лежит в $?. Бросьте кубик - число он не печатает, ответ только в коде:
zv-dice
echo $?
echo $? - сразу после кубика, иначе увидите код другой команды.Шаг 2 из 3
Дарья: Я сначала думала, что $? помнит кубик. Проверьте - запустите строку целиком:
zv-dice; ls; echo $?
Шаг 3 из 3 (продолжение)
Дарья: Основа пройдена - хватит для задания 17. Дальше - как код используют в одной строке. && - «если получилось», || - «если не получилось». Например (запускать не нужно):
mkdir data && cd data - перейти в папку, только если она создалась
cd nowhere || echo "нет папки" - сообщение, только если cd не удался
А это запустите:
zv-dice && echo ok || echo failШпаргалка
echo $? - код последней команды (сразу после неё!) 0 - успех; что значит другое число - решает программа a && b - b, только если a успешна (mkdir data && cd data) a || b - b, только если a не удалась (cd nowhere || echo "нет") задание 17: pokeberu, сразу echo $?