Пред: Вызов 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 [Содержание][Указатель]