Я пытаюсь написать 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