Red Hat Training

A Red Hat training course is available for RHEL 8

5.2.2. Operadores booleanos

A RPM 4.13 introduziu os seguintes operadores booleanos:

Tabela 5.2. Operadores booleanos introduzidos com RPM 4.13

Operador booleanoDescriçãoExemplo de uso

and

Requer que todos os operandos sejam cumpridos para que o termo seja verdadeiro.

Conflitos: (pkgA e pkgB)

or

Requer um dos operandos a ser cumprido para que o termo seja verdadeiro.

Requer: (pkgA >= 3.2 ou pkgB)

if

Exige que a primeira operação seja cumprida se a segunda for. (implicação inversa)

Recomenda: (myPkg-langCZ se langsupportCZ)

if else

O mesmo que o operador if, além de exigir que o terceiro operando seja cumprido se o segundo não for.

Requer: myPkg-backend-mariaDB se mariaDB mais sqlite

A RPM 4.14 introduziu os seguintes operadores booleanos adicionais:

Tabela 5.3. Operadores booleanos introduzidos com RPM 4.14

Operador booleanoDescriçãoExemplo de uso

with

Requer que todos os operandos sejam cumpridos pelo mesmo pacote para que o termo seja verdadeiro.

Requer: (pkgA-foo com pkgA-bar)

without

Requer um único pacote que satisfaça o primeiro operando, mas não o segundo. (subtração do conjunto)

Requer: (pkgA-foo sem pkgA-bar)

unless

Exige que a primeira operação seja cumprida se a segunda não o for. (implicação negativa inversa)

Conflitos: (myPkg-driverA unless driverB)

unless else

O mesmo que o operador unless, além de exigir que o terceiro operando seja cumprido se o segundo for.

Conflitos: (myPkg-backend-SDL1 a não ser que myPkg-backend-SDL2 seja SDL2)

Importante

O operador if não pode ser usado no mesmo contexto com o operador or e o operador unless não pode ser usado no mesmo contexto com and.