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 avconv
ile libvorbis
ses 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 avconv
komut satırına giriyor .
Ancak, kullanıcıya bu soruyu Kb (Kilobit) cinsinden bir değerle cevaplama ve onu libvorbis
kullanan ö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)?