【问题标题】:(Bash Script) How to use the same directory for multiple options?(Bash 脚本)如何为多个选项使用同一个目录?
【发布时间】:2017-09-22 20:53:37
【问题描述】:

我很困惑如何使用getopts 读取多个选项以及如何使用一个目录作为两个选项的源。让我更具体一点...

如果我说:

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

./rpsm.sh -ug /some/directory

如何将/some/directory 用作-u-g 两个选项的目录?


另外,我如何在运行脚本后列出-u 的结果然后列出-g 的结果(反之亦然)?

【问题讨论】:

  • 你问题的第二部分与getopts无关,完全取决于你如何实现./rpsm.sh
  • 对于每个参数,如果没有给出另一个参数,则默认为另一个参数。不过,您需要自己实现此行为。

标签: bash scripting getopts


【解决方案1】:

我会定义第三个选项(-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 没有提供您想要的快捷方式类型。

【讨论】:

  • 感谢您的回复!我将使用第三个选项!
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
  • 2012-02-12
相关资源
最近更新 更多