如何在ash脚本中检查额外的参数?

时间:2013-01-21 09:04:36

标签: parsing getopts ash

我有一个ash脚本,我需要检查用户是否输入了任何愚蠢的内容。正确使用是:

script <read | monitor> -s <system | event> [-f filter] [-n number]

我需要检测用户是否有例如:

script read -s system dummydummy

为了解析正确的参数,我使用

while getopts "s:f:n:" Option
do
  case $Option in
    s)logname=${OPTARG};;
    f)filterspec=${OPTARG};;
    n)numlines=${OPTARG};;
    *)exit $E_OPTERROR;;   # DEFAULT
  esac
  OPRIND=${OPTIND}
done

如何检测是否有任何剩余的未解析参数?

1 个答案:

答案 0 :(得分:1)

您可以在退出时使用此功能 -loop:

shift $(($OPTIND - 1))
echo "Remaining arguments: $@"

它适用于 bash 之类的shell,让我们知道它是否也适用于灰烬。