$ , espaço, ' e [ são caracteres especiais na maioria dos shells. Para remover seu significado especial, você precisa usar os mecanismos de cotação do shell.
A sintaxe de cotação varia muito com o shell .
Em todos os shells que eu conheço, você pode usar aspas simples para citar todos os caracteres, mas aspas simples, barra invertida e nova linha (em shells como Bourne, ele cita os dois últimos também, exceto em backticks para \ em alguns).
rm -r '$pattern'
Deve funcionar nas camadas mais comuns.
rm -r \$pattern
Funcionaria (exceto dentro de backticks para aqueles semelhantes a Bourne) em todos os shells, exceto os da família rc .
O mesmo que:
rm "\$option[value='2016']"
Em rc , como os shells, você usaria:
rm '$option[value=''2016'']'