Como inputrc tem apenas "if", "else" e "endif" e não tem uma instrução condicional "else if", condicionais aninhadas são permitidas, ou seja, um segundo "if" dentro de um bloco "else"?
Por exemplo
$if term=lxterm
...
$else
$if term=rxvt
...
$else
$if term=xterm
...
$endif
$endif
$endif
Sim. Não sei se isso está documentado, mas seria muito estranho se não funcionasse, já que é um recurso tão básico. De qualquer forma, testei com o seguinte no meu
~/.inputrc
e posso confirmar que funciona:Meu terminal padrão,
terminator
usaTERM=xterm-256color
, lá, Ctrl+ xqcolocou aspas duplas em volta da última palavra. Então eu executeiexport TERM=bob
e entãoxterm
, e naxterm
janela que abriu (ondeTERM
como definido parabob
), o mesmo atalho de teclado colocou aspas simples na palavra, então nós inserimos o primeiro aninhado$if
. Finalmente, em um puroxterm
ondeTERM=xterm
que corresponde ao$else
do aninhado$if
, como esperado, o atalho colocado-
em volta da palavra.Então sim, empiricamente,
inputrc
permite$if
declarações aninhadas.