Sto scrivendo uno script di shell per Linux, usando Bash, per tradurre qualsiasi file video in un MP4. Per questo, sto usando avconvcon libvorbisper l'audio.
All'interno del mio script, ho una domanda per l'utente:
read -p "- Audio Quality [scale from -2 to 10] ? "
if [ -n "$REPLY" ] ; then
ABITRATE="-aq $REPLY"
fi
La mia stringa "ABITRATE" va nella avconvriga di comando finale .
Ma vorrei dare all'utente la possibilità di rispondere a quella domanda con un valore in Kb (Kilobit) e tradurlo nella scala che libvorbisutilizza. La "scala da -2 a 10" è questa:
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
Vorrei sapere come verificare se il mio $ REPLY è compreso in un intervallo di numeri. Ad esempio, vorrei che il mio script facesse qualcosa del genere:
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
È possibile (sono disposto a dire "sì, certo, non dovrebbe essere difficile" ma non conosco la sintassi da usare)?