0

我有一个 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

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

4

1 回答 1

1

您可以在退出while循环后使用它:

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

它可以在类似 bash的 shell 中工作,如果它也可以在 ash 中工作,请告诉我们。

于 2013-01-21T09:13:51.687 回答