$
, 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'']'