Se você mantiver pressionada sua tecla alt e pressionar ".", o shell irá digitar automaticamente o último argumento no último comando digitado. Na sua situação, para o segundo comando, digite "cd", pressione alt-. E o resto deverá acontecer sozinho.
Eu não sei se há um comando para isso, mas quando estou trabalhando no terminal, muitas vezes me vejo movendo um arquivo para um diretório e, em seguida, quero cd lá. Por exemplo
mv Keasbey\ Nights /media/ipod/Music/Catch\ 22
cd /media/ipod/Music/Catch\ 22
É uma dor ter que digitar essa segunda parte o tempo todo. Existe uma maneira fácil de fazer isso automaticamente no bash? Eu sei que
cd-
me levará ao meu último diretório, mas isso não é exatamente o que estou procurando. No meu exemplo eu não estive em / media / ipod / Music / Catch \ 22 ainda.
Se você mantiver pressionada sua tecla alt e pressionar ".", o shell irá digitar automaticamente o último argumento no último comando digitado. Na sua situação, para o segundo comando, digite "cd", pressione alt-. E o resto deverá acontecer sozinho.
Você deseja usar !$
, que se expande para a última palavra usada no comando anterior:
computer:~ zac$ mkdir My\ Subdir
computer:~ zac$ cd !$
cd My\ Subdir
computer:~/My Subdir zac$
Veja a man page de bash, em EXPANSÃO DE HISTÓRIA , Designadores de palavras .
Veja também !*
, que se expande para todos menos a primeira palavra.
Você também pode criar uma função (coloque isso no seu ~/.bashrc
):
function mvcd ()
{
mv "$1" "$2"
cd "$2"
}
você o usa com os mesmos argumentos que mv, exceto que você estará nesse diretório depois de executar o comando.
exemplo:
[john@awesome ~]# touch file [john@awesome ~]# mkdir some_folder [john@awesome ~]# mvcd file some_folder/ [john@awesome some_folder]# ls file [john@awesome some_folder]# pwd /home/john/some_folder
Para obter o penúltimo argumento:
Alt - - (alt-minus) seguido por Ctrl - Alt - y
Isso é "argumento-dígito (negativo)" seguido por "yank-nth-arg". Veja man readline
para mais informações.
Você pode digitar dígitos após o alt-menos para obter os argumentos anteriores.
Para obter os argumentos contados desde o começo:
Alt - 0 é o comando
Alt - 1 é o primeiro argumento
, seguido por