Lamentablemente no existe ninguna manera sencilla de hacerlo, pero sí que puedes utilizar la siguiente función:
function contiene() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ "${!i}" == "${value}" ]; then echo "y" return 0 fi } echo "n" return 1 }
Y así es como podrías utilizarlo:
# definimos un array con tres elementos A=("one" "two" "three four") # comprobar si el array contiene los elementos if [ $(contiene "${A[@]}" "one") == "y" ]; then echo "contiene el elemento 'one'" fi if [ $(contiene "${A[@]}" "three") == "y" ]; then echo "contiene el elemento 'three'" fi