PDA

Ver la versión completa : Monad: la nueva línea de comandos de Longhorn



LUK
22-06-2004, 08:45
La introducción de conectores que posibilitan el pase de objetos en lugar de solamente líneas de texto de un programa o comando a otro, constituye la principal mejora de la veterana línea de comandos, en su encarnación para la plataforma Windows.

Después de años sin introducir cambios notables en el intérprete de comandos de sus sistemas operativos, Microsoft ultima los detalles de Monad, el nombre en clave que recibe MSH y que podemos interpretar como Microsoft Shell.

El cambio más notable respecto a versiones anteriores de la línea de comandos como pueden ser COMMAND.COM o CMD.EXE se produce en lo que técnicamente se llaman pipes (tuberías en inglés). Tradicionalmente, estos elementos permiten concatenar diversos comandos y programas, haciendo que la salida de texto de uno pase a la entrada de texto del siguiente. El carácter que nos permite definir una pipe o tubería es la línea vertical | , de forma que si por ejemplo queremos realizar un listado de los ficheros de nuestra cuenta en un sistema Unix de forma que queden ordenados alfabéticamente, teclearemos:

# ls | sort

Las pipes son una herencia del mundo Unix, adaptadas por su potencia y versatilidad a la plataforma Windows.

Hasta ahora las entradas y salidas de los programas que se ejecutaban desde la línea de comandos se hacían esencialmente a través de streams (cadenas) de texto por tres lugares posibles: stdin, stdout y stderr (respectivamente entrada de datos, salida de resultados y salida de mensajes y códigos de error). La nueva versión de la shell de Microsoft permite dejar de lado la limitación de trabajar solamente con texto, permitiendo que las pipes trabajen con cualquier tipo de objeto que pueda ser definido como una clase de .NET con unos atributos especiales.

La principal ventaja de esta nueva facilidad se entiende mejor con un ejemplo práctico, acercándonos nuevamente al Unix para realizar una muestra comparativa de la superioridad del planteamiento de Microsoft: Si queremos realizar una utilidad en shell script que nos permita matar un proceso correspondiente a un programa determinado, daremos una orden kill dentro del script después de haber listado todos los procesos con ps e ido a buscar el PID del proceso que deseemos, realizando una serie de operaciones para aislar la línea donde se encuentra buscando por el nombre del programa, todas estas operaciones conectadas por pipes.

A partir de ahora, la shell será suficientemente “inteligente” para determinar con que tipo de datos de salida está trabajando, por lo que podríamos concatenar directamente la orden kill a la salida del proceso ps, ya que lo que se está listando ya no es solo texto, si no información relativa a procesos que el sistema entiende como tal.

La integración entre la línea de comandos y los elementos de la interfaz gráfica de usuario es otro de los objetivos que Microsoft persigue con su nueva shell.

Fuente: DiarioRed

Markitos1024
22-06-2004, 13:28
muy bueno y espero que sea asi.
una duda el command no permite el dir | sort | more osea antes un poquito de esto ya tenia, pero como lo plantean ahora me gusta mas.

-=:PüNi§hËr:
22-06-2004, 19:22
Suena bien a esperar como funciona

talyes
24-06-2004, 18:01
Que cosas, con lo que insiste la gran M en lo malo que es linux, y windows cada vez se parece mas a el.

vladivx
24-06-2004, 19:20
Al que a un buen arbol se arrima..........................."buena sombra le cobija"

"dicho mexicano"

<PICCOLO>
24-06-2004, 21:52
?¿?¿?¿? hasta la shell se la quieren copiar a unix

TseTse
24-06-2004, 22:14
Y luego querran patentar el ls....

TseTse

diarrea
25-06-2004, 01:36
Al que a un buen arbol se arrima..........................."buena sombra le cobija"

"dicho mexicano"
Jeje, pues por aquí en Andalucía también se dice eso.

Salu2

TseTse
25-06-2004, 01:53
En toda españa se dice... xD

TseTse

diarrea
25-06-2004, 02:15
Bueno ya.. (que conste que lo había pensado) xDD