¿Podría alguien explicar cómo funciona el exitcomando en la terminal Unix?
Una búsqueda de man exit y which exitno fue útil y me encontré con el siguiente problema.
Después de instalar paquetes adicionales para Anaconda y PyCharm en mi nuevo sistema Red Hat, noté que cada vez que llamaba exitpara salir de una sesión de terminal recibía una serie de errores, y luego el terminal se cierra como se esperaba. Los errores parecen sugerir que mi llamada a exitestá activando una llamada rm ~/anaconda3/.../y está rm ~/PyCharm/....causando un error. Todos los directorios también parecen ser las ubicaciones de los paquetes que descargué para estos programas (es decir, numpy), ver más abajo.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Resuelto
En mi ~/.bash_logoutarchivo, había una línea
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
Al comentar esta línea, se detuvieron los mensajes de error. Parece buscar y eliminar todos los archivos temporales. Pero también intenta encontrar directorios con la palabra "núcleo" en ellos, y eliminarlos también. Este era un preajuste en el sistema.
exites un alias?
corearchivos es porque generalmente son archivos de volcado de memoria ( volcados de núcleo ) que ocupan espacio pero rara vez son útiles a menos que esté desarrollando el software de bloqueo. En este caso, está intentando eliminar un directorio llamado core, que falla (y lo bueno es que falla, ¡ numpy.corees esencial para NumPy!).
ulimit -c 0el valor predeterminado) Ese find -exec rmcomando no es algo que quisiera de todos modos, pero podría agregarlo -type f. También puede hacer que sea mucho más eficiente eliminar múltiples archivos mediante el uso en -exec rm {} +lugar de ... \;, por lo que agrupa varios argumentos en una rmlínea de comando (como xargs)
exitsale de esa sesión de terminal, o eso sucede cada vez que lo usaexit?