Bash: 배열 안에 지정한 값이 존재하는지 확인하는 코드


Bash에서 배열 안에 지정한 값이 존재하는지 확인하는 코드입니다.

테스트 코드

#!/usr/bin/env bash

##
# 배열 안에 지정한 값이 존재하는지 확인
##
in_array() {
    local needle array value
    needle="${1}"; shift; array=("${@}")
    for value in ${array[@]}; do [ "${value}" == "${needle}" ] && echo "true" && return; done
    echo "false"
}

# 테스트
array_test=("linux" "windows" "mac")
in_array linux ${array_test[@]} # true
in_array ios ${array_test[@]} # false

# 조건문 테스트
array_check=`in_array linux ${array_test[@]}`
if [ "${array_check}" == "true" ]; then
    echo "linux"
fi

결과 화면

true
false
linux

함께보기