El comando funciona bien en Linux pero en OS X Mountain Lion cuando hago:
rm !(myfile)
bash se queja:
bash: !: event not found
¿Hay alguna forma de hacerlo igual en OS X?
Respuesta1
Esto se debe a que no has configurado la extglob
opción, lo que le da un significado especial a !
.
En tu Bash, escribe:
shopt -s extglob
Entonces, el comando debería ejecutarse como se esperaba.
Por defecto,!
se expandeal ID de proceso del comando en segundo plano (asíncrono) ejecutado más recientemente. Con el extglob
juego, !
se puede utilizar parala coincidencia de patrones, pero sólo junto con los paréntesis que le siguen ()
.
Por supuesto, puede agregar esta línea a su ~/.bash_profile
configuración para configurarla cada vez que abra Terminal.app. OS X ejecuta de forma predeterminada un shell de inicio de sesión, por lo que estas opciones deben configurarse ~/.bash_profile
y no ~/.bashrc
como probablemente esté acostumbrado en los emuladores de terminal de Linux.