Jak ustawić readhistorię obsługi wbudowanych poleceń, naciskając klawisz strzałki w górę / w dół, aby je przełączać?
Próbowałem łapać, kiedy naciskasz klawisz w górę, jednak wydaje się, że nie działa z read:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
Wydaje się, że naciśnięcie klawiszy strzałek działa i mogę to wykryć za pomocą tego, jednak jeśli kliknę aa↑, to się nie powiedzie, ponieważ odczyta tylko pierwszy znak identyfikatora strzałki w górę, a trzeci jest potrzebny do rozróżnienia innej strzałki Klucze.
rlwrapponieważ (przynajmniej na moim komputerze)rlwrapnie jest w stanie płynnie obsługiwać CTRL-C, np. Spróbuj uruchomićUSERINPUT=$(rlwrap -o cat)i nacisnąć CTRL-C i zobaczyć, jak zachowuje się twój terminal (uruchomresetpolecenie, aby powrócić do normalnego stanu) .