簡體   English   中英

實現bash shell getops代碼

[英]Implementing bash shell getops code

我得到了創建兩個獨立代碼的幫助:

首先-檢查是否有爭論

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

第二-檢查標記是否有效(img,圖像或doc)

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

為了我的一生,我無法將兩者結合起來並使它們正常工作。 如何使這些腳本運行良好,所以我不僅要檢查參數是否存在,還要檢查其是否有效並相應地打印一條消息。

感謝您提供的任何幫助。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM