Пред: Вызов gpg-connect-agent, Вверх: gpg-connect-agent [Содержание][Указатель]
При чтении команд Assuan gpg-agent допускает также несколько
специальных команд для управления работой. Эти управляющие команды
начинаются с косой черты (/).
/echo аргументыПросто вывести аргументы.
/let имя значениеПрисвоить переменой имя заданное значение. Переменные заменяются
на свои значения в данных на входе, только если была введена команда
/subst. На переменную указывает знак доллара, имя переменной может
включаться также в необязательные фигурные скобки. Ограничения на имена
идентичны ограничениям в стандартном командном интерпретаторе
Борна. Проверки пока нет, но она может быть введена в будущем. Внутри
фигурных скобок в начале и в конце пробелы недопустимы.
Если переменная не найдена, программа ищет ее в среде и в случае успеха копирует в таблицу переменных.
Можно вызывать функции переменных: за именем функции должен следовать по меньшей мере один пробел и по меньшей мере один аргумент. Определены следующие функции:
getВозвращает значение, описанное аргументом. Доступны аргументы:
cwdТекущий рабочий каталог.
homedirДомашний каталог GnuPG.
sysconfdirКаталог системных настроек GnuPG.
bindirКаталог исполняемых файлов GnuPG.
libdirКаталог библиотек GnuPG.
libexecdirКаталог библиотек исполняемых файлов GnuPG.
datadirКаталог данных GnuPG.
serverpidИдентификатор процесса текущего сервера. Чтобы получить осмысленное
значение, перед этим нужно вызвать команду /serverpid.
unescape аргументыУдалить экранирующие символы в стиле Си из аргументов. Обратите внимание,
что \0 и \x00 неявным образом завершают строку. В качестве
преобразуемой строки берутся все аргументы направо от пробела,
ограничивающего имя функции.
unpercent аргументыunpercent+ аргументыУдалить экранирующие пробелы из аргументов. Обратите внимание, что
%00 неявным образом завершает строку. В качестве преобразуемой строки
берутся все аргументы направо от пробела, ограничивающего имя
функции. unpercent+ переводит также знаки плюса в пробелы.
percent аргументыpercent+ аргументыЭкранировать аргументы символом процента. Экранируются символы табуляции,
конца страницы, конца строки, перевода каретки, а также
двоеточия. percent+ переводит также пробелы в знаки плюса.
errcode аргументerrsource аргументerrstring аргументСчитать аргумент целым числом и прочесть его с помощью
strtol. Возвратить код ошибки gpg-error, источник ошибки или
форматированную строку с кодом и источником ошибки.
+-*/%Прочесть все аргументы в виде целых чисел типа long с помощью
strtol и применить эту операцию. Деление на ноль дает пустую строку.
!|&Прочесть все аргументы в виде целых чисел типа long с помощью
strtol и применить логическую операцию НЕ, ИЛИ или И. Оператор НЕ
действует только на последний аргумент.
/definq имя переменнаяИспользовать содержимое указанной переменной для запросов с указанным
именем. Если в качестве имени задана звездочка (*), это соответствует
любым запросам.
/definqfile имя файлИспользовать содержимое указанного файла для запросов с указанным
именем. Если в качестве имени задана звездочка (*), это соответствует
любым запросам.
/definqprog имя программаВыполнять указанную программу для запросов с указанным именем, передавая всю строку в качестве аргументов командной строки.
/datafile имяЗаписывать все строки данных из сервера в указанный файл. Файл открывается для записи и создается, если не существует. Из существующего файла данные удаляются. Данные записываются в файл в полностью декодированном виде. Если в качестве имени задан «-», данные записываются в стандартный поток вывода. Файл остается открытым до тех пор, пока не будет задан новый файл или эта команда не будет введена без аргумента.
/showdefВывести все определения
/cleardefСбросить все определения
/sendfd файл режимОткрыть указанный файл в заданном режиме (который должен быть допустимой
строкой режима fopen) и выслать файловый дескриптор серверу. За этим
обычно следует команда, подобная INPUT FD, чтобы установить источник
ввода для других команд.
/recvfdПока не реализовано.
/open переменная файл [режим]Открыть указанный файл и присвоить файловый дескриптор указанной переменной. Внимание: это экспериментальная команда, в будущих версиях она может поменяться.
/close fdЗакрыть данный файловый дескриптор. Внимание: это экспериментальная команда, в будущих версиях она может поменяться.
/showopenПоказать список открытых файлов.
/serverpidОтправить на сервер команду Assuan GETINFO pid и сохранить
возвращенный идентификатор процесса для внутренних нужд.
/sleepЗаснуть на секунду.
/hex/nohexТо же, что параметр командной строки --hex.
/decode/nodecodeТо же, что параметр командной строки --decode.
/subst/nosubstВключить и выключить подстановку переменных. В исходном состоянии выключена, если не задан параметр командной строки --subst. Если /subst включается один раз, из начала входных строк удаляются пробелы, чтобы их было легче читать.
/while условие/endС помощью этих команд вводятся циклы. Все строки между while и
соответствующим end выполняются, пока результат вычисления условия
равен ненулевому числу, строке true или строке yes. Числа
определяются функцией strtol. Пример:
/subst
/let i 3
/while $i
/echo счетчик цикла равен $i
/let i ${- $i 1}
/end
/if условие/endС помощью этих команд вводится условное выполнение. Все строки между
if и соответствующим end выполняются, если результат
вычисления условия равен ненулевому числу, строке true или строке
yes. Числа определяются функцией strtol.
/run файлВыполнить команды из указанного файла.
/byeРазорвать соединение и выйти из программы.
/helpВывести список доступных управляющих команд.
Пред: Вызов gpg-connect-agent, Вверх: gpg-connect-agent [Содержание][Указатель]