20.3.1 Определение псевдонимов

Определение алиасов - весьма простая процедура. Базовый синтаксис:

command_name alias option expansion

Для создания алиаса команды rpm вместо command_name подставляется rpm. Затем следует сам псевдоним и далее - опция. Для длинного и короткого формата опций псевдонимы задаются по отдельности. expansion, то есть во что разворачивается алиас, определяются в терминах уже определенных параметров командной строки.

В нижеследующем примере определяется сложный псевдоним для вывода информации о пакете:

rpm alias --info --qf 'Name : %-27{NAME}
Relocations:%|PREFIXES?{[%{PREFIXES} ]}:{(not relocateable)}|\n\

Version : %-27{VERSION} Vendor: %{VENDOR}\n\

Release : %-27{RELEASE} Build Date: %{BUILDTIME:date}\n\

Install date: %|INSTALLTIME?{%-27{INSTALLTIME:date}}:{(not installed) }|
Build Host: %{BUILDHOST}\n\

Group : %-27{GROUP} Source RPM: %{SOURCERPM}\n\

Size : %-27{SIZE}%|LICENSE?{ License: %{LICENSE}}|\n\

Signature : %|DSAHEADER?{%{DSAHEADER:pgpsig}}:
{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:
{%|SIGGPG?{%{SIGGPG:pgpsig}}:
{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|\n\

%|PACKAGER?{Packager : %{PACKAGER}\n}|\

%|URL?{URL : %{URL}\n}|\

Summary : %{SUMMARY}\n\

Description :\n%{DESCRIPTION}\n' \

--POPTdesc=$"list descriptive information from package(s)"

Поскольку алиасы popt фактически разворачиваются в Linux-команды, в них можно использовать конвейеры и другие традиционные подходы shell-скриптинга.

Для просмотра примеров задания алиасов загляните в файл /usr/lib/rpm/rpmpopt. Это наиболее полный набор возможных способов задания псевдонимов.

Кроме показанного подхода можно задавать алиасы, которые устанавливают макросы, как в показанном ниже примере. В данном случае устанавливается путь к БД RPM:

rpm alias --dbpath --define '_dbpath !#:+'

В данном примере конструкция !#:+ определена для задания поведения, как при редактировании истории shell-команд. С точки зрения popt это означает "забрать следующий параметр командной строки и поместить его в команду, в которую разворачивается псевдоним".

Для поддержки ключей --help и --usage можно определить опции
--POPTdesc и --POPTargs для алиасов, как показано в предыдущих примерах. Эти опции также поддерживают интернационализацию.

Из всего вышесказанного ясно, что в целом установка псевдонима popt весьма близка по смыслу к записям в таблице опций, которая используется в C RPM API.

Далее - Пользовательские псевдонимы
Назад - Добавление псевдонимов popt
Содержание