Tôi đang cố ngăn chặn bash
lưu các lệnh trùng lặp vào lịch sử của mình. Dưới đây là những gì tôi đã có:Ngăn các mục trùng lặp được lưu trong lịch sử bash
shopt -s histappend
export HISTIGNORE='&:ls:cd ~:cd ..:[bf]g:exit:h:history'
export HISTCONTROL=erasedups
export PROMPT_COMMAND='history -a'
Điều này làm việc tốt khi tôi đăng nhập và .bash_history
có trong bộ nhớ. Ví dụ:
$ history
1 vi .bashrc
2 vi .alias
3 cd /cygdrive
4 cd ~jplemme
5 vi .bashrc
6 vi .alias
$ vi .bashrc
$ history
1 vi .alias
2 cd /cygdrive
3 cd ~jplemme
4 vi .alias
5 vi .bashrc
$ vi .alias
$ history
1 cd /cygdrive
2 cd ~jplemme
3 vi .bashrc
4 vi .alias
$ exit
Nhưng khi tôi đăng nhập lại, tập tin lịch sử của tôi trông như thế này:
$ history
1 vi .bashrc
2 vi .alias
3 cd /cygdrive
4 cd ~jplemme
5 vi .bashrc
6 vi .alias
7 vi .bashrc
8 vi .alias
Tôi đang làm gì sai?
CHỈNH SỬA: Xóa shopt
và PROMPT_COMMAND
dòng từ .bashrc
không khắc phục được sự cố.
Bạn đã bao giờ giải quyết vấn đề này chưa? Tiểu sử/etc/của tôi trông như thế này (trên mac) và tôi có cùng một vấn đề: # http://blog.macromates.com/2008/working-with-history-in-bash/ # http: //www.ducea.com/2006/05/15/linux-tips-take-control-of-your-bash_history/ xuất khẩu HISTCONTROL = erasedups xuất khẩu HISTSIZE = 10000 xuất khẩu HISTTIMEFORMAT đã = "% F-% T% t " shopt -s histappend (Cố gắng định dạng nửa này khá, không dễ) – joedevon
Xem câu hỏi này http://unix.stackexchange.com/questions/48713/how-can-i-remove-duplicates -in-my-bash-history-preserving-order – Nathan
Đây là một vấn đề vốn có trong lập trình và liên quan đến các công cụ lập trình cụ thể sử dụng. Tôi băn khoăn rằng câu hỏi này sẽ được coi là "off-topic" (nhiều hơn bởi ít nhất 5 người). Một dư thừa. Bash_history là một khó chịu lâu dài cho tôi bây giờ giải quyết. Câu hỏi này có thể được chuyển đến trang web Unix stackexchange. –