Есть ли недостатки при замене функций Windows на Cygwin в PATH?


1

Cygwin позволяет выполнять сценарии оболочки в Windows и многое другое. Некоторые функции конфликтуют с функциями оболочки Windows.

Приводит ли следующий совет к недостаткам при регулярном использовании Windows? Я не мог найти дополнительную информацию об этом.

Cygwin заявляет:

Некоторые средства Windows, такие как find.exe, link.exe и sort.exe, могут конфликтовать с версиями Cygwin. Убедитесь, что вы используете полный путь (/ usr / bin / find) или что ваш каталог Cygwin bin стоит первым в твой путь.

Я изменил свой PATH соответственно, но мне интересно, есть ли какие-либо недостатки. Когда Windows использует, например, команду find by shell?


В первую очередь это будет иметь значение, если у вас есть пакетные сценарии, которые ожидают версию утилиты для Windows. Например, если у вас есть сценарий пакетного входа, который по какой-то сумасшедшей причине проанализировал результаты find.exe. Если честно, я бы ожидал, что риск будет низким лично.
EBGreen

Ответы:


2

Вы должны думать больше, так как find.exe и sort.exe являются инструментами Windows по умолчанию, которые доступны на большинстве компьютеров Windows. Также возможно, что другие программы кроме Windows используют их.

Распространенной ситуацией, когда в Windows используются инструменты командной строки, является установка чего-либо. Это может быть новая программа, установленная вручную или (автоматическое) обновление Windows (или других уже установленных программ). Проблема здесь в том, что очень сложно предсказать, что произойдет. Хорошо написанная программа / скрипт просто закончится значимым сообщением об ошибке. Но может также существовать сценарий, который полагается на точное поведение этих инструментов и запускает хаос, когда вы их меняете.

Вам нужны эти инструменты Cygwin на вашем пути? Если они нужны вам только изредка, вы можете временно добавить их на свой путь, если хотите их использовать:

path=C:\your_path_here;%PATH%

(редактировать: новый путь должен быть впереди, чтобы исполняемые файлы cygwin были предпочтительнее оконных)


@EBЗеленый ты прав, я отредактировал ответ.
Masgo

Windows find.exe работает совсем не так, как Cygwin find.exe. Windows больше похожа на grep, чем на поиск файлов. Это несоответствие может привести к поломке утилит, ожидающих функциональности Windows.
Rich Homolka
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.