Ai đó có thể vui lòng giải thích cách exit
hoạt động của lệnh trong thiết bị đầu cuối Unix?
Một tìm kiếm man exit
và which exit
không hữu ích và tôi đã gặp vấn đề sau đây.
Sau khi cài đặt thêm các gói cho Anaconda và PyCharm trên hệ thống Red Hat mới của tôi, tôi nhận thấy rằng bất cứ khi nào tôi gọi exit
để thoát ra khỏi phiên cuối, tôi sẽ nhận được một loạt lỗi và sau đó thiết bị đầu cuối thoát như mong đợi. Các lỗi dường như gợi ý rằng cuộc gọi của tôi exit
đang kích hoạt một cuộc gọi rm ~/anaconda3/.../
và rm ~/PyCharm/....
gây ra lỗi. Tất cả các thư mục cũng có vẻ là vị trí của các gói tôi đã tải xuống cho các chương trình này (tức là numpy), xem bên dưới.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Đã giải quyết
Trong ~/.bash_logout
tập tin của tôi , có một dòng
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
Bình luận dòng này ra đã dừng các thông báo lỗi. Nó xuất hiện để tìm kiếm và xóa tất cả các tập tin tạm thời. Nhưng nó cũng cố gắng tìm các thư mục có từ "lõi" trong đó và cũng xóa các thư mục đó. Đây là một cài đặt trước trong hệ thống.
exit
là bí danh?
core
các tệp là vì chúng thường là các tệp crashdump ( lõi lõi ) chiếm dung lượng nhưng hiếm khi hữu ích trừ khi bạn đang phát triển phần mềm bị sập. Trong trường hợp này, nó đang cố xóa một thư mục có tên core
, nhưng không thành công (và điều tốt là nó thất bại - numpy.core
là điều cần thiết cho NumPy!).
ulimit -c 0
mặc định). find -exec rm
Lệnh đó không phải là thứ tôi muốn, nhưng bạn có thể thêm -type f
vào nó. Bạn cũng có thể làm cho nó hiệu quả hơn nhiều khi xóa nhiều tệp bằng cách sử dụng -exec rm {} +
thay vì ... \;
, vì vậy nó sẽ bó nhiều đối số vào một rm
dòng lệnh (như xargs)
exit
để thoát ra khỏi đó phiên Terminal - hoặc rằng điều đó xảy ra mỗi khi bạn sử dụngexit
sau đó?