Primeiro, leia Estou tentando colocar um comando em uma variável, mas o casos complexos sempre falham! .
Em seguida, defina uma função:
a () {
echo "[foo]bar"
}
Para o seu script, não há razão para colocar o comando em uma variável antes; apenas execute o comando.
shopt -s nullglob
for file in tmp/*.pdb; do
base="$(basename ${file} .pdb)"
command --option "[${base}]foo"
done
shopt -u nullglob
Se você precisar armazenar algo em variáveis, separe o comando de suas opções e use uma matriz para manter as opções.
shopt -s nullglob
cmd=command
for file in tmp/*.pdb; do
base="$(basename ${file} .pdb)"
options=( --option "[${base}]foo" )
"$cmd" "${options[@]}"
done
shopt -u nullglob