Làm cách nào tôi có thể tạo read
lịch sử hỗ trợ lệnh dựng sẵn , bằng cách nhấn phím lên / xuống để xoay vòng qua chúng?
Tôi đã thử bắt khi bạn nhấn phím lên, tuy nhiên nó dường như không hoạt động với read
:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
Nhấn các phím mũi tên dường như hoạt động và tôi có thể phát hiện nó bằng cách này, tuy nhiên nếu tôi nhấn aa↑, nó sẽ thất bại vì nó sẽ chỉ đọc ký tự đầu tiên của mã định danh của mũi tên lên, trong khi thứ ba là cần thiết để phân biệt mũi tên khác nhau chìa khóa.
rlwrap
vì (ít nhất là trên máy của tôi)rlwrap
không thể xử lý CTRL-C một cách duyên dáng, ví dụ: thử chạyUSERINPUT=$(rlwrap -o cat)
và nhấn CTRL-C và xem thiết bị đầu cuối của bạn hoạt động như thế nào sau đó (chạy lạireset
lệnh để trở lại trạng thái lành mạnh) .