Como obtenho o nome do comando do último comando executado?

2

Exemplo: digito man ls , do que quero apenas man .

Usando !! , posso obter man ls , mas como obtenho man ?

    
por syntagma 19.01.2015 / 11:33

2 respostas

6

Você pode selecionar determinada palavra do último comando digitado com !!: e um designador de palavra. Como um designador de palavras, você precisa de 0 . Você pode achar ^ e $ úteis também. De man bash :

Word Designators

0 (zero) The zeroth word. For the shell, this is the command word.

^ The first argument. That is, word 1.

$ The last argument.

Então, no seu caso, tente:

echo !!:0
    
por 19.01.2015 / 11:46
4

No modo interativo, a maneira mais fácil de fazer isso é apenas uma combinação de teclas alt + 0 e alt + . / kbd>. O atalho alt + . significa "recuperar a n-ésima palavra da linha anterior" (por padrão, a última) e alt + 0 dá um argumento 0.

Isso deve funcionar para o bash interativo na maioria dos sistemas (mais geralmente, todos os shells que usam readline como sua biblioteca de entrada).

link

    
por 19.01.2015 / 12:06