首页 > 解决方案 > 如何检查是否通过了可选标志?

问题描述

如何检查启动我的 bash 脚本的用户是否指定了特定选项?

示例 1:

./script -a -b <param1> <param2>

示例 2:

./script -a <param1> <param2>

示例 3:

./script -b <param1> <param2>

标签: bashshell

解决方案


您可以使用内置的getopts简单参数解析:

a=0
b=0

while getopts ':ab' opt; do
  case ${opt} in
    a) a=1
    b) b=1
  esac
done

shift "$((OPTIND-1))"

推荐阅读