Я пытаюсь написать Bash script, который использует переменную как шаблон в выражении case. Однако я просто не могу заставить его работать.
Дело:
case "$1" in
$test)
echo "matched"
;;
*)
echo "didn't match"
;;
esac
Я пробовал это с назначением $test как aaa|bbb|ccc, (aaa|bbb|ccc), [aaa,bbb,ccc] и нескольких других комбинаций. Я также пробовал их как шаблон в выражении case: @($test), @($(echo $test)), $($test). Также нет успеха.
ИЗМЕНИТЬ
Для ясности я хотел бы, чтобы переменная представляла несколько шаблонов, подобных этому:
case "$1" in
aaa|bbb|ccc)
echo "matched"
;;
*)
echo "didn't match"
;;
esac