Искусство программирования на языке сценариев командной оболочки




Программирование на языке сценариев командной оболочки - стр. 313


echo; echo echo "Поколение $generation -- живых особей $alive" # -------------------------------------------

let "generation += 1" # Нарастить счетчик поколений. echo

# ------- Вывести второе поколение. ------- Cur=`echo ${initial[@]}` next_gen "$Cur" # Обновить и вывести. # ------------------------------------------

let "generation += 1" # Нарастить счетчик поколений.

# ------ Основной цикл игры ------ while [ "$generation" -le "$GENERATIONS" ] do Cur="$avar" next_gen "$Cur" let "generation += 1" done # ==============================================================

echo

exit 0

# -------------------------------------------------------------- # Этот сценарий имеет недоработку. # Граничные ячейки сверху, снизу и сбоков остаются пустыми. # Упражнение: Доработайте сценарий таким образом, чтобы , # + левая и правая стороны как бы "соприкасались", # + так же и верхняя и нижняя стороны.

Пример A-12. Файл с первым поколением для игры "Жизнь"

# Это файл-пример, содержащий "поколение 0", для сценария "life.sh". # -------------------------------------------------------------- # Игровое поле имеет размер 10 x 10, точкой обозначается "живая" особь, #+ символом подчеркивания -- пустая ячейка. Мы не можем использовать пробелы, #+ для обозначения пустых ячеек, из-за особенностей строения массивов в Bash. # [Упражнение для читателей: объясните, почему?.] # # Строки, начинающиеся с символа '#' считаются комментариями, сценарий их игнорирует. __.__..___ ___._.____ ____.___.. _._______. ____._____ ..__...___ ____._____ ___...____ __.._..___ _..___..__

+++

Следующие два сценария предоставил Mark Moraes, из университета в Торонто. См. файл "Moraes-COPYRIGHT", который содержит указание на авторские права.

Пример A-13. behead: Удаление заголовков из электронных писем и новостей

#! /bin/sh # Удаление заголовков из электронных писем и новостей т.е.


Содержание  Назад  Вперед