rm !(myfile) não funciona no OS X?

rm !(myfile) não funciona no OS X?

O comando funciona bem no Linux, mas no OS X Mountain Lion quando estou fazendo:

rm !(myfile)

bash reclama:

bash: !: event not found

Existe alguma maneira de fazer o mesmo no OS X?

Responder1

Isso ocorre porque você não definiu a extglobopção, o que dá um significado especial a !.

No seu Bash, escreva:

shopt -s extglob

Então, o comando deve ser executado conforme o esperado.

Por padrão,!expandeao ID do processo do comando em segundo plano (assíncrono) executado mais recentemente. Com o extglobconjunto, !pode ser usado paracorrespondência de padrões, mas apenas em conjunto com parênteses após ele ().

É claro que você pode adicionar esta linha ao seu ~/.bash_profilepara configurá-la sempre que abrir o Terminal.app. O OS X, por padrão, executa um shell de login, portanto, essas opções devem ser definidas ~/.bash_profilee não ~/.bashrccomo você provavelmente está acostumado nos emuladores de terminal Linux.

informação relacionada