Shell脚本没有选择命令行参数

时间:2014-05-01 17:08:55

标签: shell sh

以下是我的shell脚本的片段

#!/bin/sh -e
ROOT=""
while getopts "r" optionName;
do case $optionName in
r)
    ROOT="$OPTARG"
    ;;
*)
    echo "Bad argument"
    exit
    ;;
esac
done
echo "ROOT=$ROOT"

它没有正确打印ROOT,问题出在哪里?

$myscript.sh -r FOO
ROOT=

1 个答案:

答案 0 :(得分:2)

如果你想要一个参数,你需要r之后的冒号:

while getopts "r:" optionName
                ^