나는 이것을 가지고있다:
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=$@
대신에.