簡體   English   中英

沒有值的Shell Script Argument

[英]Shell Script Argument without value

我正在創建一個非常簡單的sh文件來執行某些操作,但我想傳遞一個沒有值的參數,例如:

./fuim -l

但我收到以下消息:

./fuim: option requires an argument -- l

如果我傳遞一個隨機值,比如./fuim -l 1 ,它就可以完美地運行。 我怎樣才能做到這一點?

這是我到目前為止所擁有的:

while getopts e:f:l:h OPT
do
    case "$OPT" in
        h) print_help ;;
        e) EXT=$OPTARG ;;
        f) PROJECT_FOLDER=$OPTARG ;;
        l) LIST_FILES=1 ;;
        ?) print_help ;;
    esac
done

shift $((OPTIND-1))

if [ -z "$EXT" ] || [ -z "$PROJECT_FOLDER" ]; then
    print_help
fi

使用getopts ,put :在選項字符后表示它需要一個參數。 所以將l:改為l ,如:

while getopts e:f:lh OPT

這使它成為一個布爾選項,無論是存在還是不存在。

暫無
暫無

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

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