Unix Man (Справочное руководство)


BS(1) - часть 5


mstring(n) Шаблон имеет синтаксис, аналогичный регулярным выражениям команды . Символы ., [, ] (внутренние скобки), ^, * и $ являются специальными. Функция mstring возвращает n-ую (1 n 10) подцепочку обрабатываемой цепочки_символов, которая успешно сопоставлена с фрагментом шаблона, заключенного между парами символов \( и \), из последнего обращения к match. Шаблоны сопоставляются с началом цепочки_символов (как если бы все они начинались символом ^). Функция match возвращает число успешно сопоставленных символов. Пример:

match("a123ab123", ".*\([a-z]\)") == 6 mstring(1) == "b"

Работа с файлами

open(имя, файл, тип)

close(имя) Аргумент имя должен быть именем переменной в смысле bs (переданным как цепочка символов). При обращении к функции open в качестве аргумента файл можно задавать:

  1. 0, 1, или 2, что означает стандартный ввод, стандартный вывод и стандартный протокол соответственно.
  2. Цепочку символов, представляющую имя файла.
  3. Цепочку символов с ! в начале, представляющую команду, которая должна быть выполнена (посредством sh -c).
Аргумент тип должен быть одним из следующих: r (читать), w (писать), W (писать без перевода строки), a (добавлять). После того как выполнена функция close, имя становится обычной переменной. Начальные связывания таковы:

open("get", 0, "r") open("put", 1, "w") open("puterr", 2, "w")

Примеры приведены ниже. access(s, m) Выполняет вызов . ftype(s) Возвращает односимвольный индикатор типа файла: f для обычного файла, p для именованного канала, d для каталога, b для блочного устройства, c для символьного устройства.

Таблицы

table(имя, размер) Таблица в bs - это одномерный массив с ассоциативным доступом. "Индексами" (их называют также ключами) являются цепочки символов (числа преобразуются в цепочки). Аргумент имя должен быть именем переменной в смысле bs (переданным как цепочка символов). Аргумент размер устанавливает минимальное число элементов, которое должно быть размещено. Bs печатает сообщение об ошибке и завершает работу, когда таблица переполняется. item(имя, номер)




- Начало -  - Назад -  - Вперед -