ヘルパー関数を使用して一致する引数があることを確認してください。

ヘルパー関数を使用して一致する引数があることを確認してください。

私はこれを持っています:

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=$@

代わりに。

おすすめ記事