imprimindo e não executando o resultado da expansão do histórico zsh na pesquisa parcial

1

Eu poderia fazer:

!systemctl:p para obter systemctl reload bind resultado impresso (como último comando no histórico que começa com systemctl string).

mas fazendo o mesmo com a pesquisa parcial no histórico de comandos:

!?reload:p resulta em zsh: no such event: reload:p

o primeiro procura o evento mais recente no histórico que começa com systemctl string e o imprime na tela, graças ao :p modifier, em vez de executar.

eu achei que :p é verdadeiro para !? e também em qualquer shell.

e também resultam em bash: !?reload:p: event not found .

Como posso obter a impressão e não executar a linha de comando encontrada na pesquisa parcial do histórico de comandos em shells unix comuns?

    
por w17t 08.10.2017 / 23:06

1 resposta

2

Pelo manual (enfatize o meu):

!?str[?]

Refer to the most recent command containing str. The trailing '?' is necessary if this reference is to be followed by a modifier or followed by any text that is not to be considered part of str.

então, no seu caso, é

!?reload?:p

ou seja, você precisa de um ? à direita após a string de pesquisa.

    
por 09.10.2017 / 00:23