Isso porque você não definiu a opção extglob
, o que dá um significado especial a !
.
No seu Bash, escreva:
shopt -s extglob
Em seguida, o comando deve ser executado conforme o esperado.
Por padrão, !
expande para o ID do processo dos últimos comando executado em segundo plano (assíncrono). Com o extglob
definido, !
pode ser usado para correspondência de padrões , mas somente em conjunto com parênteses após ()
.
Você poderia, claro, adicionar essa linha ao seu ~/.bash_profile
para que ela seja definida sempre que você abrir o Terminal.app. Por padrão, o OS X executa um shell de login, portanto, essas opções devem ser definidas em ~/.bash_profile
e não em ~/.bashrc
, como você provavelmente está acostumado com emuladores de terminal do Linux.