Saya mencoba membuat array di bash dari nama file dari kamera saya:
FILES=(2011-09-04 21.43.02.jpg
2011-09-05 10.23.14.jpg
2011-09-09 12.31.16.jpg
2011-09-11 08.43.12.jpg)
Seperti yang Anda lihat, ada ruang di tengah setiap nama file.
Saya sudah mencoba membungkus setiap nama dengan tanda kutip, dan melarikan diri dari ruang dengan backslash, tidak ada yang berhasil.
Ketika saya mencoba mengakses elemen array, itu terus memperlakukan ruang sebagai elemen pendahulunya.
Bagaimana saya bisa menangkap nama file dengan benar dengan spasi di dalam nama?
find . -maxdepth 1 -type f -iname \*.$1 -printf '%f\n'
); untuk elemen dalam $ {array [@]}; lakukan echo $ element; selesai
FILES[0] = ...
? (Sunting: Saya baru saja melakukannya; tidak berfungsi. Menarik).