PS> new-alias curl echo # чтобы скрыть нативную утилиту
PS> curl --version # так не работает
--version
PS> @curl --version # и так не работает
PS> & (gcm -c ap curl) --version # а так работает
curl 7.30.0-DEV (x86_64-pc-win32) libcurl/7.30.0-DEV OpenSSL/1.0.1e zlib/1.2.8 libssh2/1.4.4_DEV
...
PS> & (Get-Command -CommandType Application curl) --version # длинный вариант того же, работает
Ну, вроде бы да, хром. И из распространённых приложений больше, пожалуй, никто. Даже Microsoft больше ничего не стал заворачивать (впрочем, я не уверен, и с интересом выслушаю поправки к этому утверждению).
Хочет — пускай привлекает, никто ему мешать не собирается. Есть несколько способов для того, чтобы удалить или обойти эти стандартные алиасы как глобально, так и в рамках скрипта/выражения.
Да, пока было принято такое решение. Оно не окончательное; вот тут обсуждаются варианты.
«Скорее всего не приживётся»? Да даже в том треде нашлась пара человек, которые им пользуются. Как-то за 10 лет прижился — впрочем, я лично всегда эти алиасы удаляю в профиле.
как будет выживать PS на nix с такой политикой
На текущий момент все Unix-like алиасы PowerShell на Linux-системах отключены. Так что это "ломающее изменение" сломало бы только Windows-версию. В версиях под Linux и macOS пока ещё ничего не сломано, т.к. сомнительных алиасов там нет.
Интересу ради — а расскажите, где (в чём) комплишен хуже сделан в PowerShell, чем в баше? Просто начиная с Windows 10, по-моему, в повершелле из коробки подключается PSReadline с подсветкой и семантическим автодополнением. Если честно, я такого изкоробочного опыта ни в одном линуксе не припомню (хотя я положительно уверен, что его можно добиться в баше и в альтернативных шеллах тоже).
Стоит также упомянуть, что в состав Mono входит утилита xbuild, которая умеет собирать "виндовые" солюшены и проекты. Мы этим пользуемся в нескольких случаях. Собранные бинарники работают и на винде, и на линуксе.
Кроме Psake, посмотрите ещё на Invoke-Build. Оно во многом лучше — особенно когда вам хочется пересобрать из группы файлов только те, которые надо. Например, мне надо было только новые SVG сконвертить в PNG. Это очень просто делается на Make или Invoke-Build, но со скрипом шло на Psake и FAKE.
Про систему дистрибьюции нам то же самое говорили про ClickOnce. И где оно? Наверняка некоторые до сих пор используют, но как массовая система — не выстрелило.
Как пользователю мне абсолютно перпендикулярно, кто и как разрабатывает программы, которыми я пользуюсь — до тех пор, пока это не начинает сказываться на их видимой мне функциональности или стоимости.
Не совсем так, как вы подумали. Просто я знаю, что Nagg замешан в разработке некоторых компонентов XS, и поэтому его изначальный выпад в сторону DTE2 делался именно с позиций XS.
Ну и давайте начистоту: я сейчас не пользуюсь XS, но считаю, что здравая конкуренция в сфере IDE для C# будет полезна всем — и MSVS, и VS Code, и XS, и Rider. Если они при этом будут совместимы друг с другом в плане работы нугетовых пакетов и проектной системы — я как пользователь IDE от этого выиграю.
Кстати, на текущий момент эти псевдонимы под Linux отключены — чтобы, как говорят в MS, не лишать пользователей нативных утилит нативного же опыта работы с ними.
У меня пока получилось только так:
Слушайте, а что за символ
@
такой? Что-то у меня не работает, да и в комментариях B. Payette это подтверждает: https://github.com/PowerShell/PowerShell/issues/1975#issuecomment-241267540Вот моя PowerShell-сессия (
curl
у меня установлен и доступен вPATH
):Вы можете потренировать управляемость уха, и рулить им довольно успешно и с нужной точностью.
Ну, вроде бы да, хром. И из распространённых приложений больше, пожалуй, никто. Даже Microsoft больше ничего не стал заворачивать (впрочем, я не уверен, и с интересом выслушаю поправки к этому утверждению).
«Скорее всего не приживётся»? Да даже в том треде нашлась пара человек, которые им пользуются. Как-то за 10 лет прижился — впрочем, я лично всегда эти алиасы удаляю в профиле.
На текущий момент все Unix-like алиасы PowerShell на Linux-системах отключены. Так что это "ломающее изменение" сломало бы только Windows-версию. В версиях под Linux и macOS пока ещё ничего не сломано, т.к. сомнительных алиасов там нет.
Пока что по вашему описанию звучит, как парочка не слишком назойливых багов, а не концептуальная проблема. В любом случае, спасибо за ответ.
Интересу ради — а расскажите, где (в чём) комплишен хуже сделан в PowerShell, чем в баше? Просто начиная с Windows 10, по-моему, в повершелле из коробки подключается PSReadline с подсветкой и семантическим автодополнением. Если честно, я такого изкоробочного опыта ни в одном линуксе не припомню (хотя я положительно уверен, что его можно добиться в баше и в альтернативных шеллах тоже).
Ох уж эти алиасы, в первую очередь убиваю их из профиля. Эта парочка действительно сильно мешается :(
Atom + Ionide ещё.
Стоит также упомянуть, что в состав Mono входит утилита
xbuild
, которая умеет собирать "виндовые" солюшены и проекты. Мы этим пользуемся в нескольких случаях. Собранные бинарники работают и на винде, и на линуксе.Кроме Psake, посмотрите ещё на Invoke-Build. Оно во многом лучше — особенно когда вам хочется пересобрать из группы файлов только те, которые надо. Например, мне надо было только новые SVG сконвертить в PNG. Это очень просто делается на Make или Invoke-Build, но со скрипом шло на Psake и FAKE.
Про систему дистрибьюции нам то же самое говорили про ClickOnce. И где оно? Наверняка некоторые до сих пор используют, но как массовая система — не выстрелило.
Да, это верно. Лично я никогда не использую алиасы в скриптах (за исключением
%
и?
), но в 90% случаев использую их в командной строке.Ну, не забывая, что у
Get-ChildItem
есть нескольо алиасов а-ляdir
,gci
,ls
(последний, впрочем, пока что отключен на линуксе).Как пользователю мне абсолютно перпендикулярно, кто и как разрабатывает программы, которыми я пользуюсь — до тех пор, пока это не начинает сказываться на их видимой мне функциональности или стоимости.
А уж как он умильно жаловался на отсутствие
/usr/bin/perl.exe
, такая была милота :)Не совсем так, как вы подумали. Просто я знаю, что Nagg замешан в разработке некоторых компонентов XS, и поэтому его изначальный выпад в сторону DTE2 делался именно с позиций XS.
Ну и давайте начистоту: я сейчас не пользуюсь XS, но считаю, что здравая конкуренция в сфере IDE для C# будет полезна всем — и MSVS, и VS Code, и XS, и Rider. Если они при этом будут совместимы друг с другом в плане работы нугетовых пакетов и проектной системы — я как пользователь IDE от этого выиграю.
Кстати, на текущий момент эти псевдонимы под Linux отключены — чтобы, как говорят в MS, не лишать пользователей нативных утилит нативного же опыта работы с ними.
Реализуйте уже это DTE у себя в Xamarin Studio, и старушку MSVS можно будет списывать.