使用getopt时,“for i”没有“in [sequence]”结尾

时间:2013-04-19 10:03:12

标签: bash shell getopt

我找到了在shell中使用getopt命令的示例脚本。

#!/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

它运作良好,但我不明白变量$ i指派的位置。怎么知道它必须遍历$ arg。你能解释一下吗?

1 个答案:

答案 0 :(得分:11)

如图所示herefor默认为$@,如果没有给出in seqfor i会分配您的$i变量。