Kawat gigi bukan pola wildcard. Periksa dokumentasi ekspansi bash : kawat gigi diperluas sangat awal dalam proses, dan pola wildcard diperluas pada langkah terakhir¹.
Awalnya, perintah terdiri dari dua kata echo
, *{1..12}
. Setelah ekspansi brace, perintah berisi 13 kata: echo
, *1
, *2
, ..., *12
. Kemudian pola wildcard diperluas. *1
memperluas ke daftar nama file yang diakhiri 1
, yang mencakup tidak hanya file1
tetapi juga file11
(yang diurutkan setelahnya dalam urutan leksikografis). Demikian juga *2
memperluas ke file12
dan file2
(dalam urutan ini). Jadi Anda mendapatkan echo
, file1
, file11
, file12
, file2
, dan kemudian wildcard lain yang cocok satu file: file3
, file4
, ..., file12
.
¹ Di samping yang terakhir, jika Anda mengikuti deskripsi manual, tetapi “penghapusan kutipan” sebenarnya bukan hal - kutipan diurai lebih awal dari proses ekspansi.
Gilles 'SANGAT berhenti menjadi jahat'
sumber