Czy ktoś mógłby wyjaśnić, jak to exit
polecenie działa w terminalu uniksowym?
Wyszukiwanie man exit
i which exit
nie 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ę exit
do 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 exit
wywoł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_logout
pliku 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.
exit
jest to alias?
core
pliki, 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.core
jest niezbędny dla NumPy!).
ulimit -c 0
ustawienie domyślne). To find -exec rm
polecenie 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 rm
wiersza poleceń (np. Xargs)
exit
wychodzisz z tej sesji terminalowej - czy dzieje się tak za każdym razem , gdy używaszexit
później?