ワイルドカードを含む単一引数を持つcp

ワイルドカードを含む単一引数を持つcp

次の2つのファイルと1つのフォルダがある場合:

someuser@computer:~/Desktop/test$ ls -l
total 340
-rw-r--r-- 1 someuser someuser  45082 ago  5 09:56 file1.pdf
-rw-r--r-- 1 someuser someuser 291836 ago  5 09:56 file2.pdf
drwxrwxr-x 2 someuser someuser   4096 ago  5 09:56 this_is_a_folder.pdf

次のコマンドを実行します(ターゲットは省略しました)。

cp *.pdf

file1.pdfそしてフォルダfile2.pdfにコピーしました。this_is_a_folder.pdf

someuser@computer00:~/Desktop/test$ ls this_is_a_folder.pdf/
file1.pdf  file2.pdf

明らか*.pdfに一致するように拡張されるので、次のようになります。

cp file1.pdf file2.pdf this_is_a_folder.pdf

...this_is_a_folder.pdfフォルダに2つのファイルをコピーします。

これはバグですか?

これは明らかにワイルドカード拡張の副作用であり、予想したものとは異なります。

私は予想したmissing destination file 間違い

ベストアンサー1

cpこれはコマンドのバグではありません。と入力すると、cp *.pdf実際のcpワイルドカード文字は表示されません。bashワイルドカードはではなく拡張されます。cpcp1つのパラメータのみを入力したかどうかはどうすればわかりますか?これはbashワイルドカードの副作用なので、バグとは言えません。

おすすめ記事