0

フォルダーをソースから宛先にコピーしようとしています。宛先フォルダーは常に存在するとは限りません。

宛先フォルダーが存在しない場合、どのコピーコマンドが宛先フォルダーを作成しますか?

例:

$(CP) $(HOME)/text.txt $(DEST)/dir1/dir2/text.txt

フォルダdir1dir2は常に存在するとは限らないため、作成する必要があります。

4

2 に答える 2

1

どのシェルを使用していますか?

とにかく、クールなショートカットはないようです。mkdir最善の方法は、とを単純に組み合わせることcpです。あなたの例に従って:

mkdir -p dir1/dir2 && cp ~/text.txt ~/dir1/dir2

このコマンドは、test.txtをdir2に配置します。お役に立てれば!

ところで、の構文cpcp [source] [destination dir]

于 2013-03-12T20:35:35.023 に答える
0

最新バージョンのGNUmakeを使用している場合は、ターゲットのディレクトリを多かれ少なかれ自動的に作成するために使用できる巧妙なトリックがあります。

.SECONDEXPANSION:
%/.:
        mkdir -p -- "$*"

ここで、宛先ディレクトリを作成するターゲットごとに、「| $$(@ D)/」を追加します。前提条件として:

$(TARGET) : $(PREREQUISITES) | $$(@D)/.
        ...
于 2013-03-12T23:09:55.080 に答える