Usando variable como patrón de caso en Bash

Estoy intentando escribir un script Bash que usa una variable como patrón en una declaración de caso. Sin embargo, simplemente no puedo hacerlo funcionar.

Declaración del caso:

case "$1" in
    $test)
        echo "matched"
        ;;
    *)
        echo "didn't match"
        ;;
esac

He intentado esto con la asignación$test comoaaa|bbb|ccc, (aaa|bbb|ccc), [aaa,bbb,ccc] y varias otras combinaciones. También probé estos como el patrón en la declaración del caso:@($test), @($(echo $test)), $($test). Tampoco hay éxito.

EDITAR

Para mayor claridad, me gustaría que la variable representara múltiples patrones como este:

case "$1" in
    aaa|bbb|ccc)
        echo "matched"
        ;;
    *)
        echo "didn't match"
        ;;
esac

Respuestas a la pregunta(3)

Su respuesta a la pregunta