Czy ktoś mógłby wyjaśnić, jak to exitpolecenie działa w terminalu uniksowym?
Wyszukiwanie man exit i which exitnie było pomocne, natrafiłem na następujący problem.
Po zainstalowaniu pakietów dodatkowych dla Anacondy i PyCharm w moim nowym systemie Red Hat zauważyłem, że kiedy dzwonię exitdo wyjścia z sesji terminalu, dostaję serię błędów, a następnie terminal kończy się zgodnie z oczekiwaniami. Błędy wydają się sugerować, że moje wywołanie exitwywołuje połączenie rm ~/anaconda3/.../i rm ~/PyCharm/....powoduje błąd. Wszystkie katalogi również wydają się być lokalizacjami pakietów, które pobrałem dla tych programów (tj. Numpy), patrz poniżej.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Zdecydowany
W moim ~/.bash_logoutpliku była linia
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
Komentowanie tej linii zatrzymało komunikaty o błędach. Wygląda na to, że wyszukuje i usuwa wszystkie pliki tymczasowe. Ale próbuje także znaleźć katalogi ze słowem „core”, a także je usunąć. To było ustawienie wstępne w systemie.
exitjest to alias?
corepliki, jest to, że zwykle są to pliki zrzutu awaryjnego ( zrzuty pamięci ), które zajmują miejsce, ale rzadko są przydatne, chyba że tworzysz oprogramowanie powodujące awarię . W tym przypadku próbuje usunąć katalog o nazwie core, który się nie powiedzie (i dobrze, że się nie powiedzie - numpy.corejest niezbędny dla NumPy!).
ulimit -c 0ustawienie domyślne). To find -exec rmpolecenie i tak nie jest tym, czego chciałbym, ale możesz je dodać -type f. Możesz także znacznie usprawnić usuwanie wielu plików, używając -exec rm {} +zamiast tego ... \;, więc dodaje wiele argumentów do jednego rmwiersza poleceń (np. Xargs)
exitwychodzisz z tej sesji terminalowej - czy dzieje się tak za każdym razem , gdy używaszexitpóźniej?