lịch sử bash được nối thêm, nhưng histappend đã tắt


8

Tôi đang sử dụng Ubuntu 10,4 và vỏ của tôi là bash. Khi tôi mở một số thiết bị đầu cuối gnome và đóng chúng, lịch sử được nối thêm. Khi tôi nhập shoptnó nói trong số những điều khác:

histappend      off

Bất cứ ai có thể cho tôi biết hành vi chắp thêm được cấu hình ở đâu?


1
thử lại 'ubfox-10.04-lts' kể từ khi ubfox-10.10 chưa ra mắt. tho tôi nghe nói nó được đặt tên là Meerkat.
quack quixote

1
btw, shell bash của tôi trên Lucid đều hiển thị histappend như trên ... chưa có chỉnh sửa nào ... bạn đã điều chỉnh cấu hình bash của mình chưa?
quack quixote

@quack: Cảm ơn, tôi luôn đi trước thời đại, như mọi khi ;-)
Ludwig Weinzierl

@quack: Tôi đã nâng cấp cài đặt này nhiều lần, vì vậy tôi không chắc chắn 100%. Đối với tôi, không có vấn đề gì nếu bật hoặc tắt histappend, lịch sử luôn được nối thêm. Điều tôi thực sự tò mò là tại sao điều này xảy ra? Sẽ là sâu sắc, nếu bạn có thể mua sắm -u histappend và cho tôi biết nếu nó vẫn còn được thêm vào trong cài đặt của bạn?
Ludwig Weinzierl

Câu trả lời:


1

histappendlà cài đặt tôi mong đợi để kiểm soát điều này. Vì các shell này không đăng nhập, nên nó sẽ không xảy ra /etc/bash.bash.logouthoặc ~/.bash_logout. Kiểm tra xem nếu một cái bẫy được thiết lập bằng cách nhập trap -p. Cũng làm echo $PROMPT_COMMANDđể xem nếu một cái gì đó đang xảy ra ở đó.


echo $ PROMPT_COMMAND trả về echo -ne "\ 033] 0; $ {USER} @ $ {HOSTNAME}: $ {PWD / $ HOME / ~} \ 007". bẫy -p không trả lại gì cả. Tôi không có /etc/bash.logout và ~ / .bash_logout không chứa gì lịch sử đáng tiếc.
Ludwig Weinzierl

1

bashcố gắng nối lịch sử càng nhiều càng tốt. Với histappendtrên, bạn sẽ đảm bảo luôn nối thêm lịch sử. Nếu nó bị tắt, lịch sử sẽ vẫn chỉ được thêm vào cho đến khi số lượng lệnh bạn Entertrong một bashphiên tương tác > HISTSIZE. Khi điều này xảy ra, lịch sử sẽ bị ghi đè.

Nếu bạn muốn ghi đè lên lịch sử một cách rõ ràng, bạn có thể sử dụng history -wtrong .bash_logouthoặc một bẫy thoát.

Tôi đã đăng chi tiết hơn trong câu trả lời này về cách bashlịch sử nối thêm hoạt động.


-1

Tôi đã viết một mẹo nhanh về việc thiết lập histappend này trên trang web của mình nhưng tôi sẽ diễn giải bài đăng ở đây, để trả lời câu hỏi của bạn, tôi hy vọng.

Bạn sẽ có thể định cấu hình histappend thành 'on' bằng cách sử dụng shopt.

Để cho phép chạy

shopt -s histappend

Để vô hiệu hóa chạy

shopt -u histappend

cái đó có giúp ích không?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.