Como navegar para o diretório para o qual o objeto do sistema de arquivos acaba de ser movido?

1

Muitas vezes, ao usar mv somefile somepath , muitas vezes preciso ir para o local para o qual o arquivo acaba de ser movido.

basicamente mv somefile somepath && cd somepath

Existe uma maneira de realizar isso sem usar vários comandos?

    
por John Dream 28.07.2015 / 01:35

2 respostas

2

Que tal definir uma função bash personalizada para fazer o trabalho:

move () { mv -- "" ""; cd -- "$_"; }

coloque esta função move no final do seu arquivo ~/.bashrc .

  • Execute a função como move somefile somepath

  • é o primeiro argumento para a função ( somefile )

  • é o segundo argumento ( somepath )

  • $_ expande para o último argumento do comando anterior ( neste caso)

Exemplo:

/foo$ move () { mv -- "" ""; cd -- "$_"; }

/foo$ ls -1
bar
spam1
spam2

/foo$ move spam* bar/

/foo/bar$ 

Como você pode ver, os arquivos desejados foram movidos e o diretório também foi alterado de acordo.

    
por heemayl 28.07.2015 / 01:49
0

além de combinar comandos como você fez, a única outra maneira seria fazer o cd para o diretório em que você deseja estar primeiro, então:

~/Documents$ mv ~/Desktop/somefile ~/Documents
    
por gingamann 28.07.2015 / 01:45