Qualcuno potrebbe spiegare come l'exit
il comando funziona nel terminale Unix?
Una ricerca di man exit
e which exit
non è stato utile e ho riscontrato il seguente problema.
Dopo aver installato i pacchetti aggiuntivi per Anaconda e PyCharm sul mio nuovo sistema Red Hat ho notato che ogni volta che chiamavo exit
per uscire da una sessione del terminale otterrei una serie di errori, quindi il terminale si chiude come previsto. Gli errori sembrano suggerire che la mia chiamata a exit
sta attivando una chiamata rm ~/anaconda3/.../
e rm ~/PyCharm/....
, causando un errore. Tutte le directory sembrano anche essere le posizioni dei pacchetti che ho scaricato per questi programmi (cioè numpy), vedi sotto.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Risolto
Nel mio ~/.bash_logout
file, c'era una riga
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
Commentare questa riga ha interrotto i messaggi di errore. Sembra cercare ed eliminare tutti i file temporanei. Ma tenta anche di trovare directory con la parola "core" e di eliminare anche quelle. Questo era un preset nel sistema.
Risposta accettata:
Bene, di solito vedresti l'esecuzione solo all'uscita da una shell se l'hai configurato manualmente. Ma forse uno dei pacchetti che hai installato è dotato di uno script di shell di uscita bash...
verifica;
~/.bash_logout
forse troverai una chiamata allo script da lì, è strana...