2017-04-25 112 views
0

我很困惑如何閱讀多個選項使用getopts以及如何使用一個目錄作爲這兩個選項的來源。讓我更具體...(Bash腳本)如何在多個選項中使用相同的目錄?

如果我說:

./rpsm.sh -u -g /some/directory 

./rpsm.sh -ug /some/directory 

我將如何使用/some/directory作爲兩個選項-u-g目錄?


此外,如何將我列出的-u結果然後列出-g(反之亦然)的腳本運行後的結果?

+0

問題的第二部分與'getopts'無關,完全取決於你如何實現'./ rpsm.sh'。 – chepner

+0

對於每個參數,如果它沒有給出,但另一個是,讓它默認爲其他參數。你需要自己實現這個行爲。 –

回答

0

我會爲第一個選項(-B代表兩個?)同時設置-u-g

while getopts "u:g:B:" opt; do 
    case $opt in 
     u) u_dir=$OPTARG ;; 
     g) g_dir=$OPTARG ;; 
     B) u_dir=$OPTARG 
     g_dir=$OPTARG 
     ;; 
    esac 
done 

getopts不提供您想要的快捷鍵類型。

+0

感謝您的回覆!我會用第三個選項! –

相關問題