shell command cd! $ [duplicado]

3

Eu olhei para esta questão e pesquisei no Google, mas não consigo encontrar uma resposta definitiva. O que o !$ faz quando digitado no terminal?

eu digitei

mkdir /path/to/dir
cd !$

O que me levou a /path/to/dir , mas eu ainda gostaria de saber exatamente o que o operador !$ faz em geral.

    
por myol 11.01.2016 / 10:47

1 resposta

3

Do manual de bash > Expansão da História:

  • Designador de evento

    !      Start a history substitution, except when followed by 
           a blank, newline, carriage return, = or  (  (when the 
           extglob shell option is enabled using the shopt builtin).
    !n     Refer to command line n.
    
  • Designadores de palavras

    $      The  last word.  This is usually the last argument, but will 
           expand to the zeroth word if there is only one word in the line.
    

Portanto, !$ apenas repete a última palavra do comando anterior

Exemplo:

$ echo Unix and Linux
Unix and Linux
$ echo !$
echo Linux
Linux

$ cat dir1
cat: dir1: Is a directory
$ cd !$
cd dir1

Depois de executar o comando com !$ , pressione e você obterá o resultado de !$ .

    
por 11.01.2016 / 10:58