Quelqu'un pourrait-il expliquer comment fonctionne la exit
commande dans le terminal Unix?
Une recherche man exit
et which exit
n'a pas été utile et j'ai rencontré le problème suivant.
Après avoir installé des modules complémentaires pour Anaconda et PyCharm sur mon nouveau système Red Hat, j'ai remarqué que chaque fois que j'appelais exit
pour quitter une session de terminal, j'obtenais une série d'erreurs, puis le terminal se fermait comme prévu. Les erreurs semblent suggérer que mon appel à exit
déclenche un appel rm ~/anaconda3/.../
et rm ~/PyCharm/....
provoque une erreur. Tous les répertoires semblent également être les emplacements des packages que j'ai téléchargés pour ces programmes (ie numpy), voir ci-dessous.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Résolu
Dans mon ~/.bash_logout
dossier, il y avait une ligne
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
En commentant cette ligne, les messages d'erreur ont été arrêtés. Il semble rechercher et supprimer tous les fichiers temporaires. Mais il essaie également de trouver des répertoires contenant le mot «core» et de les supprimer également. C'était un préréglage dans le système.
exit
s'agit d'un alias?
core
fichiers est parce que ce sont généralement des fichiers de vidage sur incident (vidages principaux ) qui prennent de la place mais sont rarement utiles à moins que vous ne développiez le logiciel en panne. Dans ce cas, il essaie de supprimer un répertoire nommé core
, qui échoue (et c'est une bonne chose qu'il échoue - numpy.core
est essentiel à NumPy!).
ulimit -c 0
défaut). Cette find -exec rm
commande n'est pas quelque chose que je souhaiterais de toute façon, mais vous pouvez y ajouter quelque chose -type f
. Vous pouvez également le rendre beaucoup plus efficace en supprimant plusieurs fichiers en utilisant -exec rm {} +
au lieu de ... \;
, de sorte qu'il regroupe plusieurs arguments sur une seule rm
ligne de commande (comme xargs)
exit
pour quitter cette session de terminal - ou que cela se produit chaque fois que vous utilisezexit
après cela?