Lịch sử lệnh Bash không hoạt động


13

Lịch sử lệnh giữa các phiên không được lưu. Tôi đang sử dụng guake và lịch sử cho phiên hoạt động tốt.

Tôi nhận thấy rằng .bash_history có một số lệnh tôi đã thực hiện trong sudo -schế độ và đã thử lại lần nữa và tất cả các lệnh trong khi phiên đã được lưu nên tôi đã thửchmod 777 .bash_history

Bây giờ các lệnh cũ xuất hiện khi bắt đầu phiên nhưng không có lệnh mới nào được lưu

Thanx trước


2
Vậy ... chính xác thì bạn đang cố gắng đạt được điều gì? Bạn dường như không hỏi một câu hỏi nào ở đây: /
Thomas Ward

4
Chế độ 777 là không cần thiết, nó đặc biệt không liên quan gì đến cờ 'thực thi' (chế độ mặc định là 600). Được ~/.bash_historyghi khi bạn đăng xuất (để đạt được các lệnh mới hơn, bạn có thể sử dụng historylệnh). Nhưng tôi cũng không thấy vấn đề này ..
Onedinkenedi

Câu trả lời:


16

Các lệnh không hiển thị vì Bash lưu lịch sử vào tệp .bash_history chỉ sau khi thoát khỏi trình bao và điều này rất hiếm khi xảy ra với Guake. Có một cách giải quyết đơn giản để khiến Bash nối thêm lịch sử (thay vì ghi đè tệp) sau mỗi lệnh

shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"

4
Tuyệt vời tinh khiết. Ước gì tôi đã biết về điều này 5 năm trước.
HDave

8

Liên quan, thông thường làm thế nào điều này bị hỏng là nếu bạn sudo một lệnh trước khi bạn có tệp .bash_history, vì sau đó nó sẽ được tạo bởi sở hữu gốc thay vì người dùng của bạn.



2

Nó cũng có thể là root đó: root sở hữu .bash_history của bạn (ROOT KHÔNG NÊN LÀ NGƯỜI SỞ HỮU, NGƯỜI DÙNG CỦA BẠN NÊN LÀ CHỦ SỞ HỮU!)

#chown user:user .bash_history

Điều này rõ ràng có thể xảy ra nếu bạn làm sudo bashrất nhiều!

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.