Есть ли (предпочтительно non-kludgey) способ избежать исправлений орфографических ошибок при использовании команды 'mv' zsh

Это не симпатично или изящно, но добавление исполняемого бита в файл, который не является никаким видом исполняемого файла, который знает ОС, что сделать с, не вредно - если Вы попробуете, то Вы, вероятно, просто доберетесь cannot execute binary file

Один потенциальный риск был бы текстовыми файлами, если так или иначе первые несколько слов оказываются допустимыми командами в оболочке, но это трудно предсказать (если вряд ли).

Я лично допустил бы ошибку на стороне осторожности и сохранил бы все неисполняемым файлом, затем записать быстрый сценарий для сортировки всех файлов с file управляйте и зеркально отразите исполняемый бит, если он распознан как сценарий или двоичный файл ELF - точный код, оставленный как осуществление читателю.

4
17.07.2012, 19:08
2 ответа

Ну, не используйте correct_all опция, если Вам не нравится то, что она делает.

FWIW, это НЕ установлено по умолчанию. Существует популярная конфигурация в сети (я не скажу, который), который думает по некоторым причинам, что это - забавная идея установить ту опцию для всех... все же, она не имеет смысла для многих МНОГО приложений, все же. Это делает каждый параметр командной строки подвергающимся исправлению орфографических ошибок имени файла... Это безумно.

Короче говоря: Только setopt correct и НЕТ setopt correctall.

Если Вы нуждаетесь в помощи с написанием имен файлов, система завершения zsh может помочь Вам с _approximate и _correct completers. Детали могут быть найдены в zshcompsys(1) страница руководства.

6
27.01.2020, 20:47

Существует kludgey способ зафиксировать это. Исправлять поведение mv, cp, и mkdir, добавьте это к своему .zshrc файлу:

alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias mkdir='nocorrect mkdir'

Это не идеальная фиксация по нескольким причинам, не, наименьшее количество которого - то, что может быть несколько раз, когда Вы действительно хотите исправление орфографических ошибок для a mv команда. Например, если Вы пытались выполниться:

mv directory_a/sub/sub/some_file directory_b/sub/sub/

но Вы написали один c орфографическими ошибками из каталогов и закончили тем, что ввели

mv directory_a/sub/sub/some_file directry_b/sub/sub/

исправление орфографических ошибок, возможно, было полезно. (Это - очевидно, изобретенный пример, но Вы понимаете.)

5
27.01.2020, 20:47

Теги

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