0

我得到了创建两段单独代码的帮助:

首先 - 检查是否有争论

TYPE=""

while getopts "t:" opt; do
    case $opt in
        t)  TYPE="$OPTARG"
            ;;
    esac
done

if [ -z "$TYPE" ]; then
  echo "No -t. Bye."
  exit 1 # error
else
  echo "Valid -t!"
  exit 0 # error
fi

第二 - 检查 T 标志是否有效(img、image 或 doc)

t)
    case $OPTARG in
        img|image|doc)
            TYPE="$OPTARG"
        ;;
        *)
            echo >&2 "Unsupported type..."
            exit 1
        ;;
    esac
;;

在我的一生中,我无法将两者结合起来并让它们发挥作用。我怎样才能让这些脚本发挥得很好,所以我不仅检查参数是否存在,而且检查它是否有效并相应地打印一条消息。

感谢您提供的任何帮助。

4

1 回答 1

1
#!/bin/bash
TYPE=""

while getopts "t:" opt; do
    case $opt in
        t)
            case $OPTARG in
                img|image|doc)
                    TYPE="$OPTARG"
                ;;
                *)
                    echo >&2 "Unsupported type..."
                    exit 1
                ;;
            esac
        ;;
    esac
done

if [ -z "$TYPE" ]; then
    echo "No -t. Bye."
    exit 1 # error
else
    echo "Valid -t!"
    exit 0 # error
fi
于 2013-01-23T11:20:36.947 回答