„For i” bez „in [sequence]” kończące się podczas używania getopt

Znalazłem przykładowy skrypt do używania polecenia getopt w powłoce.

#!/bin/bash
args=$(getopt ab $*)
set -- $args
for i;
do
    case "$i" in
    -a)shift; echo "it was a";;
    -b)shift; echo "it was b";;
esac;
done

Działa dobrze, ale nie rozumiem, gdzie jest przypisana zmienna $ i. Skąd wie, że musi przechodzić przez $ arg. Czy możesz to wyjaśnić?

questionAnswers(1)

yourAnswerToTheQuestion