Я пишу сценарий оболочки для Linux, используя Bash, для перевода любого видео-файла в MP4. Для этого я использую avconv
с libvorbis
аудио.
Внутри моего скрипта у меня есть вопрос для пользователя:
read -p "- Audio Quality [scale from -2 to 10] ? "
if [ -n "$REPLY" ] ; then
ABITRATE="-aq $REPLY"
fi
Моя строка "ABITRATE" входит в последнюю avconv
командную строку.
Но я хотел бы дать пользователю возможность ответить на этот вопрос значением в килобайтах и перевести его в используемую шкалу libvorbis
. «Шкала от -2 до 10» такова:
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 в диапазоне числа. Например, я хотел бы, чтобы мой скрипт делал что-то вроде этого:
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
Возможно ли это (я хочу сказать «да, конечно, не должно быть сложно», но я не знаю синтаксис для использования)?