Как переопределить стандартные сочетания клавиш в bash?

Как переопределить стандартные сочетания клавиш в bash?

Я пишу этот файл конфигурации:

# ~/.inputrc
Control-d: "\C-udate +'%F %T'\C-m"

Я хочу запустить dateкоманду при вводе Ctrl-d.
Но я не могу переопределить поведение по умолчанию ( exit).
Спасибо за помощь.

решение1

Если вы это сделаете stty -a, вы заметите, что Ctrl- Dпривязан к eof(концу файла) для драйвера терминала. Вам придется отвязать его с помощью, sttyпрежде чем привязка Bash окажет какое-либо влияние. Я бы не рекомендовал вам этого делать. Лучше выбрать другое сочетание клавиш. Я использую Alt- Shift- Dдля аналогичной цели.

"\eD":"date +%A,\ %B\ %-d,\ %Y,\ %-l:%M:%S\ %p,\ %Z\ \(UTC%z\)"

решение2

Я думаю, что дисциплина линии превыше readline. Попробуйте выполнить

stty eof undef

Связанный контент