Có chức năng readline end-of-history
, theo mặc định được ánh xạ tới M- >nhưng nếu được sử dụng trong quá trình tìm kiếm ngược, nó sẽ thoát khỏi dấu nhắc tìm kiếm ngược.
Một cách giải quyết có thể
Bắt đầu tìm kiếm chuỗi
Thay vào đó, để sử dụng tìm kiếm ngược, bạn có thể sử dụng history-search-backward
và history-search-forward
(mặc định không được ánh xạ), ánh xạ chúng tới up/down(rất hữu ích) trong .inputrc
:
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
Vì vậy, sau khi bạn đã nhập, bạn có thể đảo ngược việc nhấn tìm kiếm up
(thay vì Ctrl+ R) và khi bạn muốn quay lại phần cuối của lịch sử, bạn có thể sử dụng end-of-history
chức năng bằng cách nhấn ( M- >)
Theo cách này "Chuỗi tìm kiếm phải khớp ở đầu dòng lịch sử ", vì vậy, nếu bạn tìm kiếm ls -ltr
, bạn phải nhập ls
và sau đó nhấn upphím.
Tìm kiếm chuỗi con
nếu bạn muốn " Chuỗi tìm kiếm có thể khớp với bất kỳ nơi nào trong dòng lịch sử " , bạn phải sử dụng history-substring-search-forward
và history-substring-search-backward
:
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
Bằng cách này, nếu bạn tìm kiếm ls -ltr
, bạn có thể nhập ls
, nhưng cũng có thể ltr
, trước khi bạn nhấn up.
Tham khảo: Hướng dẫn tham khảo Bash - Các lệnh cho lịch sử .
history
sẽ hiển thị cho bạn tất cả các lệnh bash được thực hiện ..