如何根据变量中的字符过滤字符串?

Har*_*h a 2 bash string variable

我正在尝试从以下命令中的字符串变量中删除特殊字符(通过将它们作为变量传递)能够删除单个字符而不是多个?

string=#@$AAA%* 
a=#$@%*                  # Special characters which have to remove from variable
b=`echo $string|sed 's/\${a}//g'`
echo $b
Run Code Online (Sandbox Code Playgroud)

Rud*_*diC 6

使用最近的 shell 的“参数扩展”时无需运行外部命令:

echo ${string//["$a"]}
AAA
Run Code Online (Sandbox Code Playgroud)