Uso un Ubuntu VM en casa para el desarrollo de Rails y Bash me ha echado a perder un poco. Cuando copio texto multilínea de Bash, parece que es bastante bueno saber que el texto es de una sola línea o multilínea cuando lo copio.
En Powershell (alojado en Console2) en Win7, no obtengo este comportamiento. Observe cómo HRESULT se corta en dos en este mensaje de error (desplácese hacia la derecha):
c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1558,9): warning MSB3284: Cannot get the file
path for type library "fdca4b6c-605a-4b76-adce-68010c4a2581" version 4.0. Library not registered. (Exception from HRESU
LT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) [C:\Dev\Foo.csproj]
¿Hay una manera de hacer que Powershell descubra que no debería cortar las palabras por la mitad? ¿Este comportamiento solo está disponible en Bash y debería usar Bash en Windows (quizás CygWin)?
powershell
powershell-2.0
console2
jcollum
fuente
fuente
Respuestas:
Sé que esto no aborda el problema de copiar directamente el texto que ya se ha impreso en la consola, pero una opción es canalizar la salida a
Out-String -Width <columns>
para evitar que se formen largas filas. Luego canalice la salida aclip.exe
para copiarlo al portapapeles.Si, por ejemplo, escribo un comando no válido y recibo un mensaje de error que quiero copiar:
Puedo obtener el último mensaje de error con
$Error[0]
,y esto es lo que obtengo cuando pego en el bloc de notas (tenga en cuenta que la primera línea no está ajustada).
fuente
El comportamiento de copia de Powershell se basa en bloques, en lugar de en líneas, y desafortunadamente no puede vincular las líneas ajustadas de nuevo. Sin embargo, aunque a mí me gusta bash (y fish) para las secuencias de comandos, la integración profunda de Powershell con los Servicios y Servidores de Windows hace que sea un shell más apropiado para usar a pesar de su interfaz menos capaz. Quizás alguien más esté al tanto de un reemplazo de Powershell que retiene la integración con los objetos de Windows pero también tiene una mejor interfaz; Yo no soy.
fuente