我正在尝试编写一个Bash脚本,它在case语句中使用变量作为模式。然而,我就是不能让它工作。
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
https://stackoverflow.com/questions/13254425
复制相似问题