从数组中提取值

时间:2019-12-14 19:47:57

标签: bash shell

我有一系列选项及其参数:

ARGS=('-a' '-c' 'red' 'orange' '--verbose' '-p' 'apple' 'banana')

我需要提取选项-c的参数并获取其余列表:

echo "${COLORS[@]}" # returns: red orange
echo "${OPTIONS[@]}" # returns: -a --verbose -p apple banana

我已经设法使用getopts(可能不是最好的方法)来获得颜色列表,但是我没有找到提取其余选项的方法。

COLORS=()

set_colors() {
  while getopts "p:" option 2>/dev/null; do
    case ${option} in
      p)
        COLORS+=("$OPTARG")
        while [[ "$OPTIND" -le "$#" ]] && [[ "${!OPTIND:0:1}" != "-" ]]; do
          COLORS+=("${!OPTIND}")
          ((OPTIND++))
        done
        ;;
      *) ;;
    esac
  done
}

set_colors "${ARGS[@]}"

1 个答案:

答案 0 :(得分:1)

遍历选项并将它们分配到两个数组中时,我将变量[![constructor() { this.scheduledRideSingle = firebase.database().ref(`userProfile/ScheduledRides`); } public scheduledRideSingle: any; 用作标志。

$in_colors