0

-u と -u gtest_filter= の両方を実行できるスクリプトを作成しようとしています。

現在、私は持っています

while getopts u: opt 2> /dev/null; 行う

ケース$オプトイン

u) UNIT_TEST=1; UNIT_TEST_OPTION=$OPTARG ;;

?) 使用法 >&2; 出口 1 ;;

エサック

終わり

しかし、引数を持つことを必須にします。-u も機能するようにこれを修正するにはどうすればよいですか。

4

1 に答える 1

0

(コロンを削除) のu代わりに使用します。u:次に、次の引数をチェックして、-

while getopts u opt 2> /dev/null; do
case $opt in
u)
    UNIT_TEST=1;
    # Test first character of next option
    if [ "$(echo "$2" | head -c 1)" != "-" ]; then
        UNIT_TEST_OPTION=$2
        shift # Move on to next option
    fi
    ;;
?) usage >&2; exit 1 ;;
esac
done
于 2013-04-08T02:01:59.960 に答える