2017-02-17 23 views
1

我有一個bash腳本,我想檢查一個帶有值的標誌是否傳遞給它,然後在變量中使用該值。事情是這樣的(僞):檢查傳遞給Bash腳本和過程值的標誌

file.sh -c 1.0.0 

內file.sh:

#!/bin/bash 

get flag: 
if flag 'c' then 
curl c 
else 
curl 'something else' 

請告訴我最優化的方式做以上?

+0

@TharangaAbeyseela如果萬一沒有通過的說法?該腳本就會失敗。 – Scooby

+0

請檢查答案。對不起,我完成之前輸入:) –

+0

[BashFAQ#35](http://mywiki.wooledge.org/BashFAQ/035)涵蓋了詳細的主題。請注意'getopt'不是**首選解決方案。 –

回答

1

嘗試以下

#!/bin/bash 


while getopts ":c" opt; do 
case $opt in 
c) 
    echo "-c was triggered!" >&2 
    ;; 
\?) 
    echo "Invalid option: -$OPTARG" >&2 
    ;; 
esac 
done