LINUX.ORG.RU

История изменений

Исправление Zmicier, (текущая версия) :

А чтобы вас окончательно запутать, могу сообщить, что с некоторых пор на Баше таки можно писать и почти так, как вы хотите, используя корновский тип переменных-ссылок:

in-array()
{
    local -n arr="$1"
    local val="$2"
    for elem in "${arr[@]}"; do
        [[ $elem == $val ]] \
            && return 0
    done
    return 1
}

Наверное, это даже более предпочтительно.

Исходная версия Zmicier, :

А чтобы вас окончательно запутать, могу сообщить, что с некоторых пор на Баше таки можно писать и почти так, как вы хотите, используя корновский тип переменных-ссылок:

in-array()
{
    local -n arr="$1"
    local val="$2"
    for elem in "${arr[@]}"; do
        [[ $elem == $val ]] \
            && return 0
    done
    return 1
}