Гаспар Чилингаров
Эта статья описывает нетривиальные способы использования программной
оболочки sh для создания скриптов. Например, реализацию на sh простого аналога grep.
Зачем это нужно? В случае, если вы крайне
ограничены в дисковом пространстве или объеме памяти, которые вы можете
использовать для прикладных программ. В моей ситуации при создании системы на
базе PicoBSD свободного места на дискете было крайне мало, чтобы записать туда
стандартные утилиты. Все скрипты рассчитаны и писались для использования в PicoBSD/FreeBSD
и используют возможности стандартного интепретатора /bin/sh.
Реализация шаблонов (regular expression)
в sh
Иногда бывает необходимо сравнить текстовые данные с шаблоном или выделить оттуда
какую-то часть. Для этого обыкновенно используются sed, awk или perl – в
зависимости от пристрастий программиста и сложности задачи. Однако когда вы
ограничены объемом памяти, для простых задач крайне нецелесообразно
использовать отдельные утилиты. Перед дальнейшим чтением обязательно
ознакомьтесь с разделом Parameter Expansion в руководстве по sh(1).
Ниже приведены примеры, как эмулировать утилиту cut
при помощи скриптов и функций sh.