Como funciona o comando de execução do! find?

2

O comando !find permite que o usuário execute o find executado anteriormente, com todos os seus parâmetros.

Como funciona internamente, onde exatamente esse comportamento foi programado?

    
por syntagma 31.07.2014 / 08:49

1 resposta

7

Não está relacionado ao comando find , é um recurso do shell chamado expansão de histórico. Se o seu shell suporta expansão de histórico, você pode se referir a um comando passado que você digitou e fazer algumas coisas com ele.

Por exemplo, no Bash, sua ação refere-se a um comando do histórico por um designador de evento. No manual de Bash :

An event designator is a reference to a command line entry in the history list. Unless the reference is absolute, events are relative to the current position in the history list.

!

Start a history substitution, except when followed by a space, tab, the end of the line, = or ( (when the extglob shell option is enabled using the shopt builtin).

!string

Refer to the most recent command preceding the current position in the history list starting with string.

Para os internos internos, você pode ler o código fonte de get_history_event do Bash 4.3.

    
por 31.07.2014 / 08:58