0

2 つの別個のコードを作成するための助けが得られました。

FIRST - AT 引数があるかどうかを確認します

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

2 番目 - T フラグが有効かどうかをチェック (img、image、または doc)

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

私の人生では、2つを組み合わせて機能させることはできません。これらのスクリプトをうまく動作させるにはどうすればよいので、引数に存在するかどうかを確認するだけでなく、それが有効かどうかを確認し、それに応じてメッセージを出力します。

あなたが与えることができるどんな助けにも感謝します.

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 に答える