Bash에서 배열에 특정 값이 포함되어 있는지 테스트하는 가장 간단한 방법은 무엇입니까?
편집 : 답변과 의견의 도움으로 몇 가지 테스트 후에 다음과 같은 결과를 얻었습니다.
function contains() {
local n=$#
local value=${!n}
for ((i=1;i < $#;i++)) {
if [ "${!i}" == "${value}" ]; then
echo "y"
return 0
fi
}
echo "n"
return 1
}
A=("one" "two" "three four")
if [ $(contains "${A[@]}" "one") == "y" ]; then
echo "contains one"
fi
if [ $(contains "${A[@]}" "three") == "y" ]; then
echo "contains three"
fi
그것이 최상의 솔루션인지 확실하지 않지만 작동하는 것 같습니다.