web-dev-qa-db-ja.com

CDに相当するものはありますか-CPまたはMV用ですか?

Bashおよび類似のシェルではcd -現在のディレクトリを以前にアクセスしたディレクトリに変更します。多くの場合、非常に便利です。次のように、ファイルをコピーまたは移動するための同様の省略形があるのだろうか?

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

zshの具体的な回答にも満足しています。

13
Tad Lispy

シェルにcd -がある場合、特殊変数$OLDPWDおよび/または以前に移動したディレクトリのショートカット~-が含まれている可能性があります。

cp Makefile LICENSE "$OLDPWD/"

cp Makefile LICENSE ~-

cat ~-/Makefile

確かに、POSIXシェル言語(ksh/bash/zshが構築されている) 指定cd -cd "$OLDPWD"と等しい必要があります。

28
user1686

いつでもShell backquotesを使用できます。

これらはサブシェルのように動作します。逆引用符内のコマンドが最初に実行され、その出力はメインコマンドの引数として配置されます。

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