Я просто читал man-страницу readline и обнаружил кучу замечательных команд, о которых я не знал. Однако у некоторых нет привязок клавиш по умолчанию. Есть ли способ выполнить несвязанные команды из оболочки?
Я не спрашиваю, как связать команду в ~ / .inputrc, а вместо этого, как выполнить ее как «один раз» из оболочки или в скрипте bash.
Например, команда «dump-variable». Есть ли какая-нибудь команда, в которую я могу передать «dump-variable» в качестве аргумента для ее выполнения?
Ответы:
Я считаю, что вы ищете, это сама
bind
команда. Согласноman builtin
имеющейся информации,bind <readline-command>
вы можете запускать одноразовые файлы, однако я не мог заставить его работать так, как говорится в руководстве: «Это заставляло ключи работать не для меня; Ваш пробег может варьироваться. Я нашел следующие команды, которые могут быть вам полезны.Редактирование заметки Я хотел бы отметить, насколько досадно то, что это не работает, как говорится в руководстве, потому что, если вы наберете,
bind
а затем нажмете клавишу табуляции для автозаполнения, отобразятся все команды.источник
bind readline-command
: я подозреваю, чтоcommand
здесь есть строка определения (отображения), а не вызываемая напрямую функция readline . Автозаполнение - это тонкость, явно предварительно настроенная на некоторых платформах (например, Fedora 20), но не на многих других ; его присутствие НЕ подразумевает, что вы можете вызывать функции readline напрямую - это довольно «тупая» спецификация завершения команды: завершение работает с любым аргументом, переданным вbind
.-X
для команд оболочки (определяется через-x
).