Книга: Искусство программирования на языке сценариев командной оболочки
Пример 34-3. Простая база данных, с применением косвенных ссылок
Пример 34-3. Простая база данных, с применением косвенных ссылок
#!/bin/bash
# resistor-inventory.sh
# Простая база данных, с применением косвенных ссылок.
# ============================================================== #
# Данные
B1723_value=470 # сопротивление (Ом)
B1723_powerdissip=.25 # рассеиваемая мощность (Вт)
B1723_colorcode="желтый-фиолетовый-коричневый" # цветовая маркировка
B1723_loc=173 # где
B1723_inventory=78 # количество (шт)
B1724_value=1000
B1724_powerdissip=.25
B1724_colorcode="коричневый-черный-красный"
B1724_loc=24N
B1724_inventory=243
B1725_value=10000
B1725_powerdissip=.25
B1725_colorcode="коричневый-черный-оранжевый"
B1725_loc=24N
B1725_inventory=89
# ============================================================== #
echo
PS3='Введите ноиер: '
echo
select catalog_number in "B1723" "B1724" "B1725"
do
Inv=${catalog_number}_inventory
Val=${catalog_number}_value
Pdissip=${catalog_number}_powerdissip
Loc=${catalog_number}_loc
Ccode=${catalog_number}_colorcode
echo
echo "Номер по каталогу $catalog_number:"
echo "Имеется в наличии ${!Inv} шт. [${!Val} Ом / ${!Pdissip} Вт]."
echo "Находятся в лотке # ${!Loc}."
echo "Цветовая маркировка: "${!Ccode}"."
break
done
echo; echo
# Упражнение:
# ----------
# Переделайте этот сценарий так, чтобы он использовал массивы вместо косвенных ссылок.
# Какой из вариантов более простой и интуитивный?
# Примечание:
# ----------
# Язык командной оболочки не очень удобен для написания приложений,
#+ работающих с базами данных.
# Для этой цели лучше использовать языки программирования, имеющие
#+ развитые средства для работы со структурами данных,
#+ такие как C++ или Java (может быть Perl).
exit 0
- Пример 34-1. Расширение строк
- Пример 34-2. Косвенные ссылки на переменные -- новый метод
- Пример установочного скрипта
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Пример из практики
- Резервное копирование многофайловых баз данных
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.
- Перевод базы данных InterBase 6.x на 3-й диалект
- Типы данных для работы с датой и временем