Existe um equivalente a cd - para cp ou mv?

Existe um equivalente a cd - para cp ou mv?

No Bash e em shells semelhantes, cd -altera o diretório atual para um diretório visitado anteriormente. Muitas vezes é muito útil. Gostaria de saber se existe uma abreviação semelhante para copiar ou mover arquivos, como:

~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question

Eu também ficaria feliz com zshrespostas específicas.

Responder1

Se o seu shell tiver cd -, provavelmente terá a variável especial $OLDPWDe/ou o atalho ~-para o diretório em que você esteve anteriormente.

cp Makefile LICENSE "$OLDPWD/"

cp Makefile LICENSE ~-

cat ~-/Makefile

Na verdade, a linguagem shell POSIX (sobre a qual o ksh/bash/zsh é construído)especificaisso cd -deve ser igual a cd "$OLDPWD".

Responder2

Você sempre pode usaraspas shell.

Eles agem como um subshell: o comando entre aspas é executado primeiro e sua saída é colocada como argumento do comando principal.

~/folderA$ cd ../folderB  
~/folderB$ cp Makefile `cd -`  
# gets expended to "cp Makefile ~/folderA"

informação relacionada