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たとえば、 にはとのxcopy2 つのパラメーターが与えられます。ワイルドカードがどのように解釈されるかは、に完全に依存します。*.txt*.bakxcopy
*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
コマンドについては、cpMichael が書いたとおりですcp。2 つ以上の引数を指定する場合、最後の引数はディレクトリでなければなりません。