Ai đó có thể vui lòng giải thích cách exithoạt động của lệnh trong thiết bị đầu cuối Unix?
Một tìm kiếm man exit và which exitkhô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_logouttậ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.
exitlà bí danh?
corecá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.corelà điều cần thiết cho NumPy!).
ulimit -c 0mặc định). find -exec rmLệnh đó không phải là thứ tôi muốn, nhưng bạn có thể thêm -type fvà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 rmdò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ụngexitsau đó?