Saya sedang menulis skrip shell untuk Linux, menggunakan Bash, untuk menerjemahkan file video apa saja ke dalam MP4. Untuk itu, saya menggunakan avconv
dengan libvorbis
untuk audio.
Di dalam skrip saya, saya punya pertanyaan untuk pengguna:
read -p "- Audio Quality [scale from -2 to 10] ? "
if [ -n "$REPLY" ] ; then
ABITRATE="-aq $REPLY"
fi
String "ABITRATE" saya masuk ke baris avconv
perintah terakhir .
Tapi saya ingin memberi pengguna kesempatan untuk menjawab pertanyaan itu dengan nilai dalam Kb (Kilobit), dan menerjemahkannya ke skala yang libvorbis
digunakan. "Skala dari -2 hingga 10" adalah ini:
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
Saya ingin tahu cara memeriksa apakah $ REPLY saya dalam kisaran angka. Misalnya, saya ingin skrip saya melakukan sesuatu seperti ini:
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
Apakah ini mungkin (saya bersedia mengatakan 'ya tentu saja, seharusnya tidak sulit' tetapi saya tidak tahu sintaks yang digunakan)?