muda o diretório (cd) no unix baseado em uma ação anterior

3

Eu vi um post no blog por algum tempo sobre um truque de economia de tempo que, pela minha vida, não consegui lembrar e a página do manual não lista.

Basicamente, era uma maneira de fazer o cd no diretório que você acabou de copiar ou mover algo para. Exemplo:

$pwd
/home/stedy
$mv temp /projects/trunk
$cd something
$pwd
/projects/trunk

Alguém já viu isso antes? O que estou esquecendo depois do comando cd?

    
por Stedy 07.12.2010 / 01:46

3 respostas

3

Uma opção é usar comandos de histórico:

$pwd
/home/stedy
$mv temp /projects/trunk
$cd !:2
$pwd
/projects/trunk

!:2 aceita o segundo argumento do comando anterior. Você pode variar imensamente os prazeres com os modificadores, seu melhor amigo é man bash ou info bash e procurar a expansão do histórico (e modificadores).

    
por 07.12.2010 / 01:51
6

Você pode pressionar Alt - . para obter o último argumento do comando anterior em Bash, ksh e zsh. O pressionamento de tecla é realmente designado como Meta - . que normalmente significa pressionar Esc e . , mas o A combinação Alt é comumente disponível. Observe que um sublinhado funcionará no lugar do ponto. Veja a seção Readline de man bash para mais informações. A função readline é chamada yank-last-arg .

    
por 07.12.2010 / 03:12
2

Na maioria dos shells o último parâmetro que você deu no comando anterior está em $_

mkdir /some/dir
cd $_
# now in /some/dir
    
por 07.12.2010 / 17:48

Tags