Мне на самом деле нравится Постфиксный ответ bahamat. Но также существует hacky альтернатива: запишите тривиальный прокси-сервер SMTP (в, скажите Python), который принимает соединения, устанавливает продолжающуюся связь с реальным сервером, редактирует ПРИЕМ К командам перед передачей их (для изменения адреса электронной почты) и передает все другое содержание через неизменный. Эстетически неприятный, но чрезвычайно легкий.
Я предложил бы, чтобы Вы работали вокруг этого и использовали другой тип привязки клавиш с readline, таким как Shift+TAB. Добавьте следующее к Вашему ~/.inputrc
:
"\e[Z": menu-complete
Затем выйдите exec bash
(это должно затем считать настройки в Вашем ~/.inputrc
). Как одноразовое, вместо того, чтобы перезапустить удар, можно настроить ту же привязку путем выполнения bind '"\e[Z": menu-complete'
.
Необходимо теперь смочь использовать повторенные последовательности ShiftTAB для циклического повторения через имена файлов, которые соответствуют (вместо того, чтобы иметь необходимость ввести следующий символ соответствия). Это будет работать на любую данную команду (поскольку это - стандартная команда строки чтения, которая связывается с последовательностью ShiftTAB). Как отмечено OP, это не производит стандартное поведение клавиши TAB, это просто добавляет функциональность комбинации ShiftTAB.
Иначе это работает, иногда должен использовать ?
или *
подстановочные знаки globbing и затем вводящий часть остатка от "материала", пока Вы не получаете уникальное соответствие с заполнением клавишей Tab.
Перейдите к каталогу, содержащему file☠☡☢☣.txt
и войдите ls -i
. Вы будете видеть строку:
xxxxx file☠☡☢☣.txt
где xxxxx
индекс file☠☡☢☣.txt
. Войдите:
find . -maxdepth 1 -inum xxxxx -exec /bin/mv -i {} bettername.txt \;
где xxxxx
на предыдущей строке вышеупомянутый индекс, полученный из ls -i
. Это переименовывает file☠☡☢☣.txt
как bettername.txt
.
exec bash
, поскольку это - вполне важный шаг, чтобы заставить его работать! ;) – Drav Sloan 17.09.2013, 22:47