То, что я хочу сделать, очень просто: добавить привязку клавиш к одной из моих программ с помощью файла запуска readline inputrc, но, кроме того, поскольку моя программа не производит никакого вывода, я не хочу, чтобы имя команды отображалось на стандартном выводе.
В чем моя проблема:
.inputrc содержимое:
"\e[1;5A":'pipe_send\n'
Когда я нажимаю ctrl+стрелка вверх, в командной строке появляется «pipe_send»:
[ alexkag@$$$$$:: / ]
$ pipe_send
Я бы хотел, чтобы pipe_send
не появлялось в командной строке, как команды, предоставляемые readline, такие как поиск по истории-назад, поиск по истории-вперед и т. д. Знаете ли вы какой-нибудь способ сделать это? Может, мне не использовать readline? Примечание: моя привязка клавиш должна быть видна только в bash, а не во всей системе.
.bashrc
:bind -x '"\e[1;5A":pipe_send'
. - person gniourf_gniourf   schedule 31.05.2015history-search-forward
в.inputrc
, не заключаются в кавычки. Я так понимаю, это константы? Однако в вашем примере вы цитируете свою команду (pipe_send
) как странную строку... - person cychoi   schedule 31.05.2015history-search-forward
— это встроенная функцияreadline
, а не буквальная строка. - person chepner   schedule 31.05.2015