Tôi đặt export HISTSIZE=99999999999999
nhưng đó là cách tốt nhất? Tôi không biết nếu tràn có thể xảy ra. Tôi đang tìm kiếm một cách đáng tin cậy để kiểm tra để loại bỏ giới hạn lịch sử lệnh.
Tôi đặt export HISTSIZE=99999999999999
nhưng đó là cách tốt nhất? Tôi không biết nếu tràn có thể xảy ra. Tôi đang tìm kiếm một cách đáng tin cậy để kiểm tra để loại bỏ giới hạn lịch sử lệnh.
Câu trả lời:
nó thực sự không phải là tài liệu (tốt) và tôi đoán 99% người dùng bash trên kế hoạch này đã đặt HISTSIZE thành một số lượng lớn.
Trong lịch sử bash GNU được xử lý thông qua thư viện readline hùng mạnh. Thư viện có tùy chọn giới hạn kích thước lịch sử ("stifle" trong biệt ngữ readline) hoặc không và bash chỉ đơn giản đặt lịch sử đường đọc thành stifled / unstifled. Nếu bạn xem xét ví dụ GNU bash phiên bản 4.2, biến tệp.c, dòng 4443, hàm void sv_histsize (char *), bạn sẽ tìm thấy nhận xét này (và toàn bộ ngột ngạt / không thay đổi trong hàm sau):
/ * Phải làm gì sau khi các biến HISTSIZE hoặc HISTFILESIZE thay đổi.
Nếu có một giá trị cho HISTSIZE này (và nó là số), thì hãy bóp nghẹt lịch sử.
Mặt khác, nếu KHÔNG có giá trị cho biến này, hãy bỏ qua lịch sử. Nếu tên là HISTFILESIZE và giá trị của nó là
số, hãy cắt bớt tệp lịch sử để giữ không quá nhiều
dòng. * /
Vì vậy, điều này nên làm thủ thuật:
export HISTSIZE=""
Và cũng điều này (nếu bạn cảm thấy thách thức):
export HISTSIZE="GOTCHA"
Hi vọng điêu nay co ich.