cp 或 mv 是否有相當於 cd - 的內容?

cp 或 mv 是否有相當於 cd - 的內容?

在 Bash 和類似的 shell 中,cd -將目前目錄變更為先前造訪過的目錄。它通常非常方便。我想知道複製或移動文件是否有類似的簡寫,例如:

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

我也很高興得到zsh具體的答案。

答案1

如果您的 shell 有cd -,那麼它可能會有特殊變數$OLDPWD和/或~-您之前所在目錄的捷徑。

cp Makefile LICENSE "$OLDPWD/"

cp Makefile LICENSE ~-

cat ~-/Makefile

實際上是 POSIX shell 語言(ksh/bash/zsh 是基於它建構的)指定cd -應該等於cd "$OLDPWD".

答案2

您可以隨時使用shell 反引號

它們的作用就像一個子 shell:首先執行反引號中的命令,並將其輸出作為主命令的參數。

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

相關內容