我正在使用Bash编写Linux的外壳脚本,以将任何视频文件转换为MP4。为此,我使用avconvwith libvorbis进行音频。
在我的脚本中,我对用户有一个问题:
read -p "- Audio Quality [scale from -2 to 10] ? "
    if [ -n "$REPLY" ] ; then
    ABITRATE="-aq $REPLY"
    fi我的“ ABITRATE”字符串进入最终的avconv命令行。
但我想让用户有机会用Kb(千比特)的值来回答这个问题,并将其转换为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这是否可能(我愿意说“是的,当然不应该很难”,但我不知道使用的语法)吗?