다음과 같이 정의 된 비 연관 배열이 있다고 가정합니다.
my_array=(foo bar baz)
배열에 주어진 문자열이 있는지 어떻게 확인할 수 있습니까? if
블록 의 조건부 (예 :) 내에서 사용할 수있는 솔루션을 선호합니다 if contains $my_array "something"; then ...
.
array=(foo bar baz foo)
pattern=f*
value=foo
if (($array[(I)$pattern])); then
echo array contains at least one value that matches the pattern
fi
if (($array[(Ie)$value])); then
echo value is amongst the values of the array
fi
$array[(I)foo]
foo
in 의 마지막 발생 인덱스를 반환하고 $array
찾을 수없는 경우 0을 반환합니다 . e
그것이 될 수 있도록 플래그입니다 e
XACT 일치하는 대신 패턴 일치.
값 $value
이 리터럴 목록에 있는지 확인하려면 해당 값 목록을 익명 함수 에 전달하고 함수 본문 $value
에서 $@
in을 찾을 수 있습니다.
if ()(( $@[(Ie)$value] )) foo bar baz and some more; then
echo "It's one of those"
fi
값이 배열에서 찾을 수 있습니다 얼마나 많은 시간을 알고, 당신은 사용할 수있는 ${A:*B}
연산자 (배열의 요소를 A
배열도 있습니다 B
)
array=(foo bar baz foo)
value=foo
search=("$value")
(){print -r $# occurrence${2+s} of $value in array} "${(@)array:*search}"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다