Tad*_*spy 14 linux bash zsh file-transfer
在 Bash 和类似的 shell 中,cd -将当前目录更改为以前访问过的目录。它通常非常方便。我想知道复制或移动文件是否有类似的简写,例如:
~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question
Run Code Online (Sandbox Code Playgroud)
我也很高兴得到zsh具体的答案。
use*_*686 28
如果您的 shell 有cd -,那么它可能会有您之前所在目录的特殊变量$OLDPWD和/或快捷方式~-。
cp Makefile LICENSE "$OLDPWD/"
cp Makefile LICENSE ~-
cat ~-/Makefile
Run Code Online (Sandbox Code Playgroud)
事实上,POSIX shell语言(在其KSH / bash中/ zsh中内置)指定该cd -应等于cd "$OLDPWD"。
小智 5
您始终可以使用shell 反引号。
它们就像一个子shell:反引号中的命令首先执行,其输出作为主命令的参数放置。
~/folderA$ cd ../folderB
~/folderB$ cp Makefile `cd -`
# gets expended to "cp Makefile ~/folderA"
Run Code Online (Sandbox Code Playgroud)