Вместо точки монтирования попытайтесь размонтировать устройство
umount //metro/released
Можно определить виджет, который называет сценарий:
my-script_widget() my-script its args
zle -N my-script_widget
bindkey '\ej' my-script_widget
Но почему Вы хотели бы назвать свой сценарий непосредственно от zle?
Если это отобразит что-нибудь, то это испортит дисплей. Если Вы хотите его вывод, отображенный, поскольку другой виджет обменивается сообщениями, можно сделать:
my-script_widget() zle -M "$(my-script its args)"
Или если Вы хотите вывод, вставленный в курсоре:
my-script_widget() LBUFFER+=$(my-script its args)
Чтобы немного расширить ответ @suside :
Поскольку bindkey -s
просто отправляет последовательности клавиш, если в вашей подсказке уже что-то есть, и вы пытаетесь использовать привязку, она просто вводит это после того, что уже есть в подсказке. Это можно исправить, отправив kill-whole-line
для очистки подсказки перед вводом команды/скрипта.
kill-whole-line
обычно привязан к ^u
(Ctrl+U
), см. docs . Если это не так, вы можете связать его с помощью:
bindkey '^u' kill-whole-line
Затем вы можете сделать:
bindkey -s '\eb' '^u/path/to/script.sh^M'
который привязывает Alt+b
к уничтожению текущей строки перед вводом ваших символов, а затем отправляет^M
(новую строку ).