1

У меня есть git setup для выполнения сценария powershell во время слияний. Я использую Git Bash на окнах для команд Git. Функция Write-Host Powershell выводит текст в консоль Bash, но использование флага -ForegroundColor не меняет цвет текста. Есть ли способ для сценария Powershell установить цвет его вывода в консоли Bash?

1 ответ1

1

Первое первым.

Использование Write-Host уже давно горячо обсуждается. Даже изобретателем / автором PowerShell.

Write-Host считается вредным - основатель PowerShell Джеффри Сновер

https://jsnover.com/blog/2013/12/07/write-host-considered-harmful

Когда вы пишете или просматриваете сценарии PowerShell, я бы хотел, чтобы вы запомнили следующее правило:

Использование Write-Host почти всегда неправильно.

Write-Host - почти всегда неправильная вещь, потому что это мешает автоматизации. Обычно есть две причины, по которым люди используют Write-Host:

Есть много других статей на эту тему.

В более ранних версиях PoSH Write-Host нельзя было использовать в конвейере, так как в тот момент, когда вы его используете, данные удаляются из буфера.

Однако в PoSHv5 Джеффри Сновер теперь говорит ...

С PowerShell v5 Write-Host больше не "убивает щенков". данные вводятся в информационный поток

https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Write-Information?view=powershell-5.1

Описание

Командлет Write-Information указывает, как Windows PowerShell обрабатывает данные потока информации для команды.

Windows PowerShell 5.0 представляет новый структурированный поток информации (номер 6 в потоках Windows PowerShell), который можно использовать для передачи структурированных данных между сценарием и его вызывающими (или средой размещения). Write-Information позволяет добавить информационное сообщение в поток и указать, как Windows PowerShell обрабатывает данные информационного потока для команды.

Цветной текст на экране для взаимодействия с пользователем - даже это можно легко обойти.

Write-Verbose имеет синий цвет. Write-Warning имеет оранжевый цвет.

Вы все еще можете использовать цвета, не используя Write-Host, выполнив это ...

PowerTip: запись выходных данных PowerShell в цвете без использования Write-Host

https://blogs.technet.microsoft.com/heyscriptingguy/2012/10/11/powertip-write-powershell-output-in-color-without-using-write-host

Сводка: запись цветного вывода в консоль Windows PowerShell без использования командлета Write-Host.

Во-вторых, вы также не указываете, какой редактор / консоль вы используете. powershell.exe / powershell_ise.exe или что-то еще, скажем, VSCode.

Теперь полное раскрытие: я не пробовал это в Bash. Тем не менее, не тратя дополнительное время на настройку PoSH для интеграции с Bash ...

Настройка PowerShell ISE для использования с Git и GitHub

Цель этой статьи блога - настроить ISE PowerShell (интегрированная среда сценариев), чтобы из него можно было управлять управлением версиями Git. Большинство учебных пособий, которые вы найдете, попытаются привести вас по пути использования SSH вместо HTTPS для синхронизации ваших репозиториев с GitHub из командной строки, но это действительно слишком сложно и не нужно, если вы используете компьютер на базе Windows.

http://mikefrobbins.com/2016/02/09/configuring-the-powershell-ise-for-use-with-git-and-github

... тогда терминал bash и консоль PoSH - это две разные среды. Если вы говорите, что вы используете команду Bash в скрипте PoSH и перенаправляете вывод на терминал Bash, то я получаю это, но, за исключением использования Write-Host, в большинстве случаев неправильно, когда PoSH отправляет вывод чему-то другому, то, как он будет выглядеть, контролирует место назначения, а не PowerShell.

Даже при использовании PoSH WinForm / WPF из текстовых полей можно отправлять текст из PoSH, но вы должны использовать свойства from для установки цветов.

Во всяком случае, есть несколько дискуссий о цвете в GIT Bash с PowerShell. Посмотрите, помогут ли они в дальнейшем.

Использование Git из PowerShell

Настройте свою среду Git

Вы можете настроить некоторые параметры вашей среды Git, особенно если это новая установка Git. Будучи хорошим участником проекта в Git, вы должны идентифицировать себя, чтобы Git знал, кто виноват в ваших коммитах. Кроме того, я обнаружил, что цвета по умолчанию, используемые Git в оболочке, могут быть трудночитаемыми. Поэтому я настроил цвета, чтобы сделать их более заметными. Для получения дополнительной информации см. Раздел «Настройка Git» в документации по Git.

Следующие команды необходимо выполнить только один раз. Вы устанавливаете глобальные настройки, поэтому после их установки они используются каждый раз, когда вы запускаете новую оболочку.

https://seanonit.wordpress.com/2016/12/05/using-git-from-powershell

Установка цветов для ls в git bash на windows

Я недавно установил GitHub для Windows и использую приглашение git bash - единственное, что меня сейчас беспокоит, это то, что когда я набираю LS, все каталоги отображаются синим цветом.

Как изменить оболочку git bash, чтобы при вводе LS каталоги отображались в цвете, отличном от синего?

https://stackoverflow.com/questions/14049896/setting-colors-for-ls-in-git-bash-on-windows

Как вы меняете цветовую схему в bash на Ubuntu для Windows?

Я пытался создать цветовые схемы с помощью https://terminal.sexy и http://ciembor.github.io/4bit/, но я не могу заставить их экспорты работать с bash в Ubuntu в Windows.

Какой правильный подход к настройке цветов в boUoW?

Как вы меняете цветовую схему в bash на Ubuntu для Windows?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .