Es posible cambiar el color del texto en la consola Bash desde el script de PowerShell

Es posible cambiar el color del texto en la consola Bash desde el script de PowerShell

Tengo configuración de git para ejecutar un script de PowerShell durante las fusiones. Utilizo Git Bash en Windows para comandos de git. La función Write-Host de Powershell envía texto a la consola Bash, pero el uso del indicador -ForegroundColor no cambia el color del texto. ¿Existe alguna forma de que el script de Powershell establezca el color de su salida en la consola Bash?

Respuesta1

Primero lo primero.

El uso de Write-Host ha sido un tema muy debatido durante mucho tiempo. Incluso por el inventor/autor de PowerShell.

Write-Host considerado dañino - por el fundador de PowerShell, Jeffrey Snover

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

Cuando escriba o revise scripts de PowerShell, me gustaría que recuerde la siguiente regla general:

Usar Write-Host casi siempre es incorrecto.

Write-Host casi siempre es algo incorrecto porque interfiere con la automatización. Normalmente hay dos razones por las que la gente utiliza Write-Host:

Existen muchos otros artículos sobre el tema.

En versiones anteriores de PoSH, Write-Host no se podía usar en la canalización, ya que en el momento en que lo usa, los datos desaparecen del búfer.

Sin embargo, en PoSHv5 Jeffrey Snover ahora dice...

Con PowerShell v5 Write-Host ya no "mata a los cachorros". los datos se capturan en el flujo de información

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

Descripción

El cmdlet Write-Information especifica cómo Windows PowerShell maneja los datos del flujo de información para un comando.

Windows PowerShell 5.0 presenta un nuevo flujo de información estructurado (el número 6 en los flujos de Windows PowerShell) que puede usar para transmitir datos estructurados entre un script y sus llamadores (o entorno de alojamiento). Write-Information le permite agregar un mensaje informativo a la secuencia y especificar cómo Windows PowerShell maneja los datos de la secuencia de información para un comando.

Texto coloreado en la pantalla para la interacción del usuario, incluso eso se puede solucionar fácilmente.

Write-Verbose tiene un color azul Write-Warning tiene un color naranja

Aún puedes usar colores, sin usar Write-Host, haciendo esto...

PowerTip: escriba la salida de PowerShell en color sin utilizar Write-Host

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

Resumen: escriba resultados coloreados en la consola de Windows PowerShell sin utilizar el cmdlet Write-Host.

En segundo lugar, tampoco indica qué editor/consola está utilizando. powershell.exe/powershell_ise.exe o algo más, digamos VSCode.

Ahora, divulgación completa: no probé esto en Bash. Sin embargo, sin perder tiempo adicional configurando PoSH para la integración de Bash...

Configuración de PowerShell ISE para usar con Git y GitHub

El objetivo de este artículo de blog es configurar PowerShell ISE (Integrated Scripting Environment) para que la gestión del control de versiones de Git se pueda realizar desde él. La mayoría de los tutoriales que encontrará intentarán guiarlo por el camino del uso de SSH en lugar de HTTPS para sincronizar sus repositorios con GitHub desde la línea de comandos, pero eso es realmente demasiado complicado e innecesario si está usando una máquina basada en Windows.

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

... entonces, la terminal bash y la consola PoSH son dos entornos diferentes. Si está diciendo que está usando el comando Bash en un script PoSH y redirigiendo la salida al terminal Bash, entonces lo entiendo, pero, aparte de que usar Write-Host es incorrecto en la mayoría de los casos, cuando PoSH envía la salida a otra cosa, entonces es el destino el que controla su apariencia, no PowerShell.

Incluso al usar PoSH WinForm/WPF, desde los cuadros de texto se puede enviar texto desde PoSH, pero debe usar las propiedades from para configurar los colores.

De todos modos, hay varias discusiones sobre el color en GIT Bash con PowerShell. Vea si estos ayudan más.

Usando Git desde PowerShell

Personaliza tu entorno Git

Es posible que desee personalizar algunas de las configuraciones de su entorno Git, especialmente si se trata de una nueva instalación de Git. Como buen colaborador de proyectos en Git, debes identificarte para que Git sepa a quién culpar por tus compromisos. Además, descubrí que los colores predeterminados utilizados por Git en el shell podían ser difíciles de leer. Así que personalicé los colores para hacerlos más visibles. Para obtener más información, consulte el tema Personalización de Git en la documentación de Git.

Los siguientes comandos solo deben ejecutarse una vez. Está configurando preferencias globales para que, una vez configuradas, se utilicen cada vez que inicie un nuevo shell.

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

Configuración de colores para ls en git bash en windows

Instalé GitHub para Windows recientemente y estoy usando el indicador de git bash; lo único que me molesta en este momento es que cuando escribo LS, todos los directorios aparecen en azul.

¿Cómo cambio mi shell de git bash para que cuando escriba LS los directorios aparezcan en un color diferente al azul?

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

¿Cómo se cambia la combinación de colores en bash en Ubuntu para Windows?

Intenté crear combinaciones de colores conhttps://terminal.sexyy http://ciembor.github.io/4bit/pero no puedo hacer que ninguna de sus exportaciones funcione con bash en Ubuntu en Windows.

¿Cuál es el enfoque correcto para personalizar los colores en boUoW?

¿Cómo se cambia la combinación de colores en bash en Ubuntu para Windows?

información relacionada