2017-04-25 72 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

感谢您的回复!我会用第三个选项! –

相关问题