Как стать автором
Обновить

Автор сurl просит Microsoft удалить алиасы curl и wget из PowerShell

Настройка LinuxPowerShell*nixОболочки


Позавчера компания Microsoft опубликовала исходный код PowerShell. Таким образом, это средство автоматизации и конфигурирования на базе .NET Framework стало доступным под Linux.

Некоторые скептически относятся к стратегии «Microsoft любит Linux», которую декларирует редмондский гигант. Кое-кто считает, что консоль от Microsoft не нужна в операционной системе, в которой есть bash. Обычно это просто эмоциональные высказывания, но есть и вполне рациональные аргументированные возражения по существу. Например, разработчик программы curl Дэниель Стэнберг (Daniel Stenberg) вполне логично говорит, что наличие внутри PowerShell одноимённого алиаса curl, а также wget совершенно неуместно, потому что мешает запустить нормальные привычные программы.

«Алиасы curl и wget препятствуют использованию привычных инструментов командной строки, при этом даже близко не обеспечивают такую же функциональность, — пишет Дэниель Стэнберг в пулл-реквесте к свежеопубликованному коду PowerShell на Github. — Они совершенно бесполезны для пользователей PowerShell, но вызывают путаницу для нынешних пользователей curl и wget».

Пулл-реквест Дэниеля Стэнберга поддержали 466 других пользователей Github. В самом деле, алиас curl внутри оболочки PowerShell вносит определённую путаницу для тех, кто специально установил curl под Windows и хочет запускать эту программу из командной строки.

Один из разработчиков PowerShell ответил на комментарий Стэнберга, что эти алиасы использовались в разных версиях PowerShell, а их удаление станет «ломающим изменением». Поэтому они отклоняют этот пулл-реквест, ибо он представляет собой «неприемлемые изменения» в соответствии с условиями неприемлемых изменений, которые нарушают обратную совместимость и ломают существующие пользовательские скрипты.

Дэниелm Стэнберг вежливо ответил, что на самом деле добавление этих алиасов в PowerShell стало «ломающим изменением» для людей, которые запускали curl и wget из консоли. «Ни один здравомыслящий человек всё равно не будет использовать эти алиасы, поскольку ваша замена curl и wget работает совершенно непохоже на оригинальные команды curl и wget. Эти алиасы только усложняют жизнь пользователям, которым нужны настоящие инструменты, и они не делают ничего хорошего для тех пользователей, которым эти инструменты не нужны».

Разработчиков PowerShell можно понять. Всем совершенно очевидно, и им тоже, что алиасы curl и wget неуместны, но существующая многоступенчатая бюрократическая система не позволяет им сделать такое изменение по простому пулл-реквесту. В данный момент свободный проект PowerShell управляется комитетом из пяти мейнтейнеров, которые действуют с ведома менеджеров проекта, которые, в свою очередь, подчиняются более высокому руководству в корпорации. Такого рода значительные изменения требуют длительных согласований во всей корпоративной иерархии.

Разработчики признают проблему, что когда добавили «алиасы для юниксовых команд», то под Windows эти алиасы мешают запустить нормальные программы. Это нужно исправить, но формально такое изменение является «ломающим», в соответствии с официальным документом. Сейчас мейнтейнеры проводят совещание, что делать с этими алиасами Linux и как решить проблему под Linux и под Windows.

В качестве временного решения они предлагают вручную удалить мешающие алиасы, добавив следующие строки в профиль:

Remove-Item Alias:Curl
Remove-Item Alias:WGet
Теги:MicrosoftPowerShellбюрократияcurlwget
Хабы: Настройка Linux PowerShell *nix Оболочки
Всего голосов 54: ↑46 и ↓8 +38
Просмотры55.2K

Похожие публикации

DevOps specialist
от 100 000 ₽deeplayНовосибирскМожно удаленно
Linux администратор
до 120 000 ₽ТИТАН-2Санкт-ПетербургМожно удаленно
Системный администратор Linux/Senior
от 50 000 до 120 000 ₽NetPingМожно удаленно
Ведущий инженер Service Desk (автоматизация)
от 100 000 ₽ТИТАН-2Санкт-Петербург
C++ Embedded Developer (Linux)
от 150 000 до 250 000 ₽MicroAviaСанкт-Петербург

Лучшие публикации за сутки