도우미 함수를 사용하여 일치하는 인수가 있는지 확인하세요.

도우미 함수를 사용하여 일치하는 인수가 있는지 확인하세요.

나는 이것을 가지고있다:

ql_match_arg(){
    declare -a my_array=$1
    for var in "${my_array[@]}"; do
        if [[ "$var" == "$2" ]]; then
          return 0;
        fi
    done
}


ql_ls () {
   local my_array=( "$@" ); ql_json=$(ql_match_arg my_array[@] '--json' && echo "yes")
   ql_pid="$$" ql_json="$ql_json" ql_node_ls_all
}

내가 원하는 것은 다른 함수가 주어진 이름에 대한 인수의 일치를 결정하는 데 사용할 수 있는 도우미 함수(ql_match_arg)를 만드는 것입니다. 이 경우 --json 플래그가 에 인수로 전달되었는지 확인하고 싶습니다 ql_ls.

내가 겪고 있는 문제는 my_array를 반복하지 않는다는 것입니다. 내 코드에 문제가 있습니다. ql_match_arg배열을 올바르게 전달하지 않거나 다른 문제가 있습니다.

답변1

내가 겪고 있는 문제는 my_array를 통해 반복되지 않는다는 것입니다.

이것으로:

declare -a my_array=$1

배열을 생성 중입니다.하나값: $1,첫 번째스크립트에 전달된 매개변수입니다. 그래서 거기에 반복 할 것이 많지 않습니다.

네가 원한다면모두논쟁하려면 다음을 시도하십시오.

declare -a my_array=$@

대신에.

관련 정보