bash プロンプトで、このコピーを実行できます
cp file.txt test1.txt
しかし、file.txtをいくつかのファイルにコピーしようとすると
cp file.txt test{2..4}.txt
エラーが発生します
cp: ターゲット `test4.txt' はディレクトリではありません
bash プロンプトで、このコピーを実行できます
cp file.txt test1.txt
しかし、file.txtをいくつかのファイルにコピーしようとすると
cp file.txt test{2..4}.txt
エラーが発生します
cp: ターゲット `test4.txt' はディレクトリではありません
それはbashについてではなく、cpについてです。cp に 3 つ以上のパラメーターを指定する場合、最後のパラメーターは、他のすべてのパラメーターのコピー先のディレクトリにする必要があります。
for f in test{2..4}.txt ; do cp file.txt $f ; done
*nix シェルがどのように機能するかを理解する必要があります。
DOS/Windows の世界では、ワイルドカードはプログラムによって処理されます。したがって、xcopy *.txt *.bak
たとえば、 にはとのxcopy
2 つのパラメーターが与えられます。ワイルドカードがどのように解釈されるかは、に完全に依存します。*.txt
*.bak
xcopy
*nix の世界では、ワイルドカードはシェルによって処理されます。xcopy *.txt *.bak
たとえば、同様のコマンドは、最初に展開されて になりxcopy <list of files ending with .txt> <list of files ending with .back>
ます。file1.txt
したがって、 tofile4.txt
と別のファイルが存在すると仮定するold.bak
と、コマンドは次のように展開されます。xcopy file1.txt file2.txt file3.txt file4.txt old.bak
コマンドについては、cp
Michael が書いたとおりですcp
。2 つ以上の引数を指定する場合、最後の引数はディレクトリでなければなりません。