@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

powershell-vs-bash-11

Powershell vs Bash

Powershell vs Bash

Si trabajas con Shells, lo más seguro es que uses uno de los dos que vamos a ver hoy, Powershell o Bash.

Si ya tienes una cierta edad, como yo, habrás estado muchos años trabajando con Bash en Linux y con Powershell en Windows. Afortunadamente, esto ha evolucionado, y ahora somos capaces de usar cualquiera de los dos en los diferentes sistemas operativos que existen como Windows, Linux o MacOSX.

Hace unos años, Bash era el rey del scripting, y realmente Powershell no podía competir con él. Pero su evolución, con Powershell Core, consiguiendo integrar el Kernel linux en Windows, ha posibilitado que Powershell le haya comido terreno.

La diferencia fundamental entre uno y otro, es que Bash nos va a devolver texto o cadena, y en cambio Powershell nos genera objetos. Eso a nivel funcional, implica que Powershell a la hora de manipular ese objeto necesite menos manipulación que Bash, que necesita manipular primero el texto. Esto tiene que ver con los famosos datos estructurados, que es donde Powershell destaca sobre Bash.

Dicho de otra forma:

Powershell canaliza objetos, canalizando la salida de un cmdlet como entrada para otro. Pudiendo manipular, en secuencia, varios objetos cmdlets. Esto permite a Powershell manipular datos y estructuras de datos complejas. En cambio, Bash pasa la salida y la entrada como texto sin ningún formato, haciendo que sea fácil mover información de un programa a otro.

No me interpretéis mal, ambas herramientas son muy poderosas, todo depende de quien las manipule, como todo…

Instalar Powershell en Centos 7

Cargamos el repositorio:

curl https://packages.microsoft.com/config/rhel/7/prod.repo | tee /etc/yum.repos.d/microsoft.repo

powershell-vs-bash-1

Lo instalamos:

yum install -y powershell

Y lanzamos con el comando pwsh:

powershell-vs-bash-2

Ejemplos comandos Bash vs Powershell

Una de las ventajas de Powershell sobre Bash, es que podemos reutilizar comandos antiguos de CMD o algunos que ya existen en Bash.

Por ejemplo:

BASH

echo "Esto es una prueba"

POWERSHELL
Lo podríamos sacar indistintamente con:

echo "Esto es una prueba"
Write-Output "Esto es una prueba"

powershell-vs-bash-3

Si queremos listar archivos o carpetas de un directorio, por ejemplo en Bash usaremos:

ls -l

powershell-vs-bash-4

Lo que nos devuelve todos los archivos y sus metadatos.

Para Powershell usaríamos:

Get-ChildItem

powershell-vs-bash-5

Si queremos afinar la búsqueda con el primer resultado:

Get-ChildItem | Select-Object * -First 1

powershell-vs-bash-6

Si queremos tratar un fichero con nombres y generar directorios a través de él, por ejemplo. En Bash sería algo así:

Disponemos de un fichero llamado “directorios” con dos líneas con nombres:

Prueba1
Prueba2

Generáis un fichero SH con el siguiente contenido:

powershell-vs-bash-7

Y le dais permisos de ejecución:

chmod +x pruebabash.sh

Ejecutáis:

sh pruebabash.sh

Comprobáis:

powershell-vs-bash-8

Y con Powershell lo haríamos con PS1, por ejemplo:

sh pruebapowershell.ps1

Con el siguiente contenido:

ForEach ($d in Get-Content directorios)
{
mkdir $d
}

powershell-vs-bash-9

Y lanzamos-comprobamos:

powershell-vs-bash-10

Os dejo esta tabla que compara otros comandos:

powershell-vs-bash-11

CONCLUSION

Si estáis aprendiendo informática, y os aventuráis por un lenguaje de shell, no os cerréis a ninguno de ellos. Todos tienen sus ventajas e inconvenientes. Vuestro futuro laboral os lo agradecerá.

Espero os parezca interesante…ya que es gratis, comparte ;P

¿Te ha gustado la entrada SÍGUENOS EN TWITTER?

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

crear-soc-mediante-herramientas-opensource-1

Crear SOC mediante herramientas OpenSource

Crear SOC mediante herramientas OpenSource Llevo un tiempo recopilando información sobre herramientas que nos permitan …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

11 + trece =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu