Una solucion podria ser que utilizaras arreglos asociativos. Haciendolo asi seria mucho mas facil acceder a ciertos valores utilizando una variable como indice dentro del arreglo.
Por ejemplo:
Código BASH:
Ver originaldeclare -A lista_ok
lista_ok["campus1"]="campus11 campus12 campus13"
lista_ok["campus2"]="campus21 campus22 campus23"
lista_ok["campus3"]="campus31 campus32 campus33"
#Una condicion para verificar que se este accediendo a un elemento que contiene valores
valor="campus4"
if [[ -z ${lista_ok[$valor]} ]]; then
echo $valor no contiene datos;
else
echo $valor si contiene datos
fi
#Para recorrer los valores de "campus1"
valor="campus1"
for v in ${lista_ok[$valor]}; do echo $v; done
Si te fijas, en la asignacion de valores de
lista_ok se esta asignando una cadena y no un arreglo. En BASH no existen los arreglos multidimensionales.