¿Podría alguien explicar cómo funciona el exit
comando en la terminal Unix?
Una búsqueda de man exit
y which exit
no 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 exit
para 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 exit
está 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_logout
archivo, 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.
exit
es un alias?
core
archivos 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.core
es esencial para NumPy!).
ulimit -c 0
el valor predeterminado) Ese find -exec rm
comando 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 rm
línea de comando (como xargs)
exit
sale de esa sesión de terminal, o eso sucede cada vez que lo usaexit
?