Выберите unicode имя файла в Bash

Мне на самом деле нравится Постфиксный ответ bahamat. Но также существует hacky альтернатива: запишите тривиальный прокси-сервер SMTP (в, скажите Python), который принимает соединения, устанавливает продолжающуюся связь с реальным сервером, редактирует ПРИЕМ К командам перед передачей их (для изменения адреса электронной почты) и передает все другое содержание через неизменный. Эстетически неприятный, но чрезвычайно легкий.

9
18.09.2013, 01:57
3 ответа

Я предложил бы, чтобы Вы работали вокруг этого и использовали другой тип привязки клавиш с readline, таким как Shift+TAB. Добавьте следующее к Вашему ~/.inputrc:

"\e[Z": menu-complete

Затем выйдите exec bash (это должно затем считать настройки в Вашем ~/.inputrc). Как одноразовое, вместо того, чтобы перезапустить удар, можно настроить ту же привязку путем выполнения bind '"\e[Z": menu-complete'.

Необходимо теперь смочь использовать повторенные последовательности ShiftTAB для циклического повторения через имена файлов, которые соответствуют (вместо того, чтобы иметь необходимость ввести следующий символ соответствия). Это будет работать на любую данную команду (поскольку это - стандартная команда строки чтения, которая связывается с последовательностью ShiftTAB). Как отмечено OP, это не производит стандартное поведение клавиши TAB, это просто добавляет функциональность комбинации ShiftTAB.

9
27.01.2020, 20:06
  • 1
    , отредактированный для упоминания использования exec bash, поскольку это - вполне важный шаг, чтобы заставить его работать! ;) –  Drav Sloan 17.09.2013, 22:47
  • 2
    Спасибо! Для любого, кто задается вопросом, это, кажется, не изменяет нормальную функциональность; это просто добавляет комбинацию ключа shift-tab. –  Erhannis 17.09.2013, 23:16
  • 3
    Корректный, оставьте мою клавишу Tab в покое!!:) Я был бы расстроен, если тот измененный :D –  Drav Sloan 17.09.2013, 23:18

Иначе это работает, иногда должен использовать ? или * подстановочные знаки globbing и затем вводящий часть остатка от "материала", пока Вы не получаете уникальное соответствие с заполнением клавишей Tab.

3
27.01.2020, 20:06

Перейдите к каталогу, содержащему 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.

2
27.01.2020, 20:06

Теги

Похожие вопросы