Herhangi bir video dosyasını MP4'e çevirmek için Bash kullanarak Linux için bir kabuk betiği yazıyorum. Bunun için, ben kullanıyorum avconvile libvorbisses için.
Komut dosyamın içinde, kullanıcı için bir sorum var:
read -p "- Audio Quality [scale from -2 to 10] ? "
if [ -n "$REPLY" ] ; then
ABITRATE="-aq $REPLY"
fi
"ABITRATE" dizgim son avconvkomut satırına giriyor .
Ancak, kullanıcıya bu soruyu Kb (Kilobit) cinsinden bir değerle cevaplama ve onu libvorbiskullanan ölçeğe çevirme fırsatı vermek istiyorum . "-2'den 10'a kadar olan ölçek" şudur:
Quality Kbit/s Normalization
-----------------------------
-2 ~32 y
-1 ~48 y
0 ~64 y
1 ~80 y
2 ~96 y
3 ~112 y
4 ~128 n
5 ~160 n
6 ~192 n
7 ~224 n
8 ~256 n
9 ~320 n
10 ~500 n
$ REPLY’imin bir sayı aralığında olup olmadığını nasıl kontrol edeceğimi bilmek istiyorum. Örneğin, senaryomun böyle bir şey yapmasını istiyorum:
if [ $REPLY is a number between 1 and 32 ] ; then
REPLY="-2"
elif [ $REPLY is a number between 33 and 48 ] ; then
REPLY="-1"
fi
Bu mümkün mü ('evet tabi ki zor olmamalıyım' demeye istekliyim ama kullanacağım sözdizimini bilmiyorum)?