Aşağıdakiler ihtiyaçlarınıza uygun olmalıdır:
#!/bin/bash
convert -size 1000x706 xc:white img_0.jpg || { printf '%s\n' 'Failed to create original image' ; exit 1 ; }
for (( _num = 1 ; _num < 1700 ; _num++ )); do
cp img_0.jpg "img_${_num}.jpg" || { printf '%s\n' "Failed to copy to image img_${_num}.jpg" ; exit 2 ; }
done
ImageMagick ilk görüntüyü oluşturur ve daha sonra 1700 dosya oluşturmak için kopyalanır. Eğer ulimit
bunu yapıyor kısıtlıyor (muhtemelen will) ve yeterli dosya tanımlayıcıları yok, sen ile döngü yerini alabilir:
tee img_{1..1699}.jpg > /dev/null < img_0.jpg
Ayrıca for _num in {1..1699}
son bash
sürümlerde daha kısa deyim (tüm sayıları aynı anda saklamak için daha büyük bir bellek gereksinimi ile) kullanabilirsiniz , ancak hangi kabukların kullanılabilir olduğunu belirtmezsiniz. ((
En kabukları mevcuttur ( bash
, ksh
ve ash
en azından emin başkaları hakkında).