Điểm:0

Lịch sử Tmux không được lưu giữ

lá cờ yt

Tôi đang gặp sự cố trong đó không tìm thấy các lệnh mà tôi chạy bên trong thiết bị đầu cuối tmux khi tôi thoát khỏi phiên tmux đó. Có ai giúp đuợc không?

tmux - sử dụng lệnh này để chạy phiên tmux

lặp lại "Xin chào" - sử dụng lệnh này trong phiên tmux

Môn lịch sử - Trong trường hợp này lặp lại "Xin chào" lệnh có mặt.

lối ra - sử dụng cái này để thoát phiên tmux

Môn lịch sử - chạy lệnh này sau khi thoát khỏi phiên tmux

Sau khi chạy cái này tôi không thể lấy được lặp lại "Xin chào" lệnh mà tôi đã sử dụng trong phiên tmux.

Điểm:0
lá cờ cn

Thoát khỏi thiết bị đầu cuối và khởi động lại nó. Hiện nay, Môn lịch sử sẽ hiển thị cho bạn tất cả các lệnh này, cả từ bên trong tmux như trước.

Lịch sử của một phiên chỉ được cam kết với .bash_history tệp sau khi bạn thoát khỏi một phiên. Khi bạn bắt đầu một phiên làm việc mới, .bash_history được đọc và lệnh sẽ có sẵn. Lý do nó hoạt động như vậy là nó cho phép đánh giá lịch sử của từng phiên riêng biệt.

Có thể định cấu hình thiết bị đầu cuối của bạn để ngay lập tức đưa ra các lệnh có sẵn trong lịch sử của tất cả các phiên.

Từ đây:

Thêm phần sau vào ~/.bashrc của bạn:

# Tránh trùng lặp
HISTCONTROL=ignoredups:erasedups # Ubuntu mặc định là bỏ qua cả hai
# Khi trình bao thoát, hãy thêm vào tệp lịch sử thay vì ghi đè lên tệp
shopt -s histappend # Trong Ubuntu, điều này đã được thiết lập mặc định

# Sau mỗi lệnh, hãy thêm vào tệp lịch sử và đọc lại
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}lịch sử -a; lịch sử -c; lịch sử -r"

Tìm hiểu thêm về biến HISTCONTROL đây.

Trong bản cài đặt Ubuntu mặc định, trên thực tế, chỉ riêng lệnh này sẽ hoạt động tốt:

PROMPT_COMMAND="history -a; history -c; history -r"

Lưu ý rằng bất kỳ lệnh mới nào từ một phiên khác sẽ có sẵn trong phiên của bạn sau khi bạn "làm mới" lời nhắc: lịch sử được cập nhật ngay sau khi lời nhắc được tạo.

Kevin Martin avatar
lá cờ yt
Cảm ơn vì đã giúp tôi. Nó đã làm việc. Tôi đã xem nhiều blog khác nhau trước đó nhưng không thể hiểu chúng đúng cách. Bây giờ, tôi hiểu tại sao điều này lại xảy ra.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.