Possível alterar a cor do texto no console Bash a partir do script PowerShell

Possível alterar a cor do texto no console Bash a partir do script PowerShell

Eu configurei o git para executar um script do PowerShell durante as mesclagens. Eu uso o Git Bash no Windows para comandos git. A função Write-Host do Powershell envia texto para o console Bash, mas usar o sinalizador -ForegroundColor não altera a cor do texto. Existe uma maneira de o script Powershell definir a cor de sua saída no console Bash?

Responder1

As coisas importantes primeiro.

O uso do Write-Host tem sido um tópico muito debatido há muito tempo. Até mesmo pelo inventor/autor do PowerShell.

Write-Host considerado prejudicial - pelo fundador do PowerShell, Jeffrey Snover

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

Ao escrever ou revisar scripts do PowerShell, gostaria que você se lembrasse da seguinte regra:

Usar Write-Host quase sempre é errado.

Write-Host é quase sempre a coisa errada a se fazer porque interfere na automação. Normalmente existem dois motivos pelos quais as pessoas usam Write-Host:

Existem muitos outros artigos sobre o assunto.

Nas versões anteriores do PoSH, o Write-Host não podia ser usado no pipeline, pois no momento em que você o usa, os dados desaparecem do buffer.

No entanto, em PoSHv5 Jeffrey Snover agora diz...

Com o PowerShell v5, o Write-Host não "mata mais os filhotes". os dados são capturados no fluxo de informações

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

Descrição

O cmdlet Write-Information especifica como o Windows PowerShell lida com dados de fluxo de informações para um comando.

O Windows PowerShell 5.0 introduz um novo fluxo de informações estruturado (número 6 nos fluxos do Windows PowerShell) que você pode usar para transmitir dados estruturados entre um script e seus chamadores (ou ambiente de hospedagem). Write-Information permite adicionar uma mensagem informativa ao fluxo e especificar como o Windows PowerShell trata os dados do fluxo de informações para um comando.

Texto colorido na tela para interação do usuário - mesmo isso pode ser contornado facilmente.

Write-Verbose tem uma cor azul Write-Warning tem uma cor laranja

Você ainda pode usar cores, sem usar Write-Host, fazendo isso...

PowerTip: Grave a saída do PowerShell em cores sem usar Write-Host

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

Resumo: Grave a saída colorida no console do Windows PowerShell sem usar o cmdlet Write-Host.

Em segundo lugar, você também não indica qual editor/console está usando. powershell.exe/powershell_ise.exe ou qualquer outra coisa, digamos VSCode.

Agora, divulgação completa: não tentei isso no Bash. No entanto, sem gastar tempo extra configurando PoSH para integração com Bash...

Configurando o PowerShell ISE para uso com Git e GitHub

O objetivo deste artigo do blog é configurar o PowerShell ISE (Integrated Scripting Environment) para que o gerenciamento do controle de versão do Git possa ser realizado a partir dele. A maioria dos tutoriais que você encontrará tentará orientá-lo no caminho do uso de SSH em vez de HTTPS para sincronizar seus repositórios com o GitHub a partir da linha de comando, mas isso é realmente complicado e desnecessário se você estiver usando uma máquina baseada em Windows.

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

... então, o terminal bash e o console PoSH são dois ambientes diferentes. Se você está dizendo que está usando o comando Bash em um script PoSH e redirecionando a saída para o terminal Bash, então entendi, mas, fora o uso do Write-Host estar errado na maioria dos casos, quando o PoSH envia a saída para outra coisa, então é o destino que controla sua aparência, não o PowerShell.

Mesmo usando PoSH WinForm / WPF, as caixas de texto podem ser enviadas texto do PoSH, mas você deve usar as propriedades from para definir as cores.

De qualquer forma, existem diversas discussões sobre cores no GIT Bash com PowerShell. Veja se isso ajuda ainda mais.

Usando Git do PowerShell

Personalize seu ambiente Git

Você pode querer personalizar algumas das configurações do seu ambiente Git, especialmente se esta for uma nova instalação do Git. Sendo um bom contribuidor de projetos no Git você deve se identificar para que o Git saiba quem é o culpado pelos seus commits. Além disso, descobri que as cores padrão usadas pelo Git no shell podem ser difíceis de ler. Então personalizei as cores para torná-las mais visíveis. Para obter mais informações, consulte o tópico Personalizando o Git na documentação do Git.

Os comandos a seguir só precisam ser executados uma vez. Você está definindo preferências globais para que, uma vez definidas, sejam usadas sempre que você iniciar um novo shell.

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

Configurando cores para ls no git bash no Windows

Instalei o GitHub para Windows recentemente e estou usando o prompt do git bash - a única coisa que está me incomodando agora é quando digito LS, todos os diretórios estão listados em azul.

Como altero meu shell git bash para que, quando digito LS, os diretórios sejam listados em uma cor diferente do azul?

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

Como você altera o esquema de cores no bash no Ubuntu para Windows?

Eu tentei criar esquemas de cores comhttps://terminal.sexye http://ciembor.github.io/4bit/mas não consigo fazer com que nenhuma de suas exportações funcione com o bash no Ubuntu no Windows.

Qual é a abordagem correta para personalizar as cores no boUoW?

Como você altera o esquema de cores no bash no Ubuntu para Windows?

informação relacionada