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