viernes, 6 de marzo de 2020

Powershell 7 llega con pocos cambios y solo a ofrece mejoras para Linux y MacOS




La nueva versión de Powershell 7 presenta una gama completa de funciones con las que los usuarios de Windows ya están familiarizados desde Windows Powershell 5.x. Los desarrolladores de Microsoft proporcionaron en esta versión un cierto impulso de características al garantizar que los módulos de expansión Powershell incluidos en Windows ahora también puedan ejecutarse en Powershell 7.

El objetivo obvio de los desarrolladores es lograr que Powershell 7 tenga paridad con Windows Powershell. Los usuarios de Linux y macOS no tienen nada de eso e incluso los usuarios de Windows hasta ahora han tenido que prescindir de alrededor de 100 comandos.



Powershell Core 6, fue el primer intento de Microsoft de ofrecer un shell que no solo debería funcionar en Windows, sino también en varios derivados de Linux y macOS.

El pensamiento no fue malo. Utilizando un shell, es decir, un entorno de secuencias de comandos con un intérprete de línea de comandos (CLI), los procesos complejos del sistema deben asignarse al sistema operativo. Sin embargo, no es tan simple. Y Microsoft tuvo que reconocer eso también.

Después de que Powershell 6 Core apenas supiera cómo prevalecer, Microsoft ahora quiere hacer un nuevo intento con Powershell 7. Para este propósito, el fabricante no agrega el nombre Core, que posiblemente podría desencadenar negativamente a uno u otro que haya tratado con la versión 6.

Microsoft también está tratando de incorporar funciones adicionales a Powershell 7, especialmente las que Windows Powershell 5.x ha tenido durante mucho tiempo. Hablar de éxito sería una exageración.

Cuando se usa en Windows, Powershell 7 admite un conjunto de alrededor de 1,500 comandos. Cuando se usa en Linux y macOS, este conjunto se reduce a menos de 300 comandos. Además, Powershell 7 intenta garantizar la mayor compatibilidad posible bajo Windows.

Para hacer esto, el shell intenta ejecutar incluso módulos incompatibles a través de una conexión remota a Windows Powershell. Por supuesto, esta opción tampoco funciona en Linux y macOS.
Como tal esta nueva version fue liberada para ofrecer una mayor compatibilidad con Linux y MacOS. Por lo que no ofrece muchos cambios relevantes.

De los que podremos destacar son los siguientes:

  • Soporte para la paralelización de canales utilizando la construcción "ForEach-Object -Parallel"
  • Operador de asignación condicional "a? B: c"
  • Operadores de inicio de flujo condicional "||" y "&&" (por ejemplo, cmd1 && cmd2, el segundo comando se ejecutará solo si el primero es exitoso)
  • Operadores lógicos "??" y "?? =", que devuelve el operando derecho si el operando izquierdo es NULL (por ejemplo, a = b ?? "cadena predeterminada" si b es nulo, el operador devolverá el drenaje con el valor predeterminado).
  • Sistema mejorado para la visualización dinámica de errores (Get-Error cmdl)
  • Capa de compatibilidad con módulos para Windows PowerShell
  • Mostrar automáticamente la notificación de una nueva versión
  • Posibilidad de llamar a recursos DSC (Configuración de estado deseada) directamente desde PowerShell.
Finalmente si quieres conocer más al respecto, puedes consultar el siguiente enlace.

¿Cómo instalar PowerShell 7 en Linux?

Para poder instalar esta nueva versión de PowerShell 7, debemos obtener los paquetes de instalación desde el siguiente enlace.

En el caso de Linux en general la instalación se puede realizar desde la tienda de Snap, el único requisito es que tu sistema cuente con soporte para instalar este tipo de paquetes y tener el servicio instalado.

Para realizar la instalación basta con abrir una terminal y sobre ella ejecutar el siguiente comando:
snap install powershell --classic

Finalmente, en el caso de optar por los paquetes especialmente construidos para cada distribución. La instalación la puedes hacer con tu gesto de paquetes o desde la terminal con dpkg (para paquetes deb o con rpm o dnf (para paquetes rpm).

 Por ejemplo, en el caso de paquetes deb:
   sudo dpkg -i powershell-7.0.0-1*.deb

En el caso de RPM en distribuciones en general con:
   sudo rpm -i powershell-7.0.0-1*.rpm

 O en el caso de Fedora o RHEL:
  sudo dnf -i powershell-7.0.0-1*.rpm
Share:

0 comentarios:

Publicar un comentario

Seguidores