No, es al revés. No hay cuchara ^ H ^ H ^ H datos estructurados. Solo hay texto.
Una gran parte de la filosofía de Unix se basa en la idea de generar texto y aceptar texto como entrada. Es posible que desee considerar leer " El arte de la programación de Unix ", que tiene una buena explicación al respecto.
No me malinterpretes: entiendo tu punto y sé a qué estás tratando de llegar. Hay cosas como los intérpretes interactivos de Ruby y Python, que se pueden usar como shell, pero no son tan amigables para las tareas básicas como lo es Bash. Intente y cambie el directorio, por ejemplo.
Además, el uso de objetos en un shell no es todo eso. Si solo su shell admite esto, en Unix, estaría perdido. Todas las herramientas estándar de manipulación de texto de Unix tendrían que modificarse, como grep, awk, sed, etc.
Creo que ha habido un intento de crear algo como esto hace unos años, pero no recuerdo el nombre y no he escuchado sobre él en mucho tiempo. Probablemente no va a despegar.
ls(1)
. Completamente inutil.En realidad, hay un proyecto llamado Pash que tiene como objetivo implementar PowerShell (además de Mono), pero parece haberse estancado.
fuente
Hay un proyecto, cuyo objetivo comparte similitud con PowerShell: Hotwire . Combina sh normal con secuencias de comandos de python y entorno de ventana / gráfico. Podrías echarle un vistazo.
Se basa en una tubería orientada a objetos que puede extender con sus propios objetos envolviendo programas existentes o usando bibliotecas de Python.
fuente
PowerShell se convirtió en código abierto en 2016. Desde entonces, se ha vuelto cada vez más multiplataforma. El código fuente está disponible en GitHub y también lo están los paquetes de instalación para varios sistemas similares a UNIX.
fuente
Creo que podría lograr la mayor parte de eso escribiendo un montón de guiones interpretados (o compilados), luego invocandolos dentro del intérprete, que devolverá o preservará sus objetos, etc. si lo desea.
Puede hacer esto al menos en Ruby, Perl, Python, Haskell (p. Ej., GHCi), JavaScript (p. Ej., Node.js), Matlab y, ciertamente, en otros idiomas ...
fuente
Otro pensamiento tres años después: es posible representar un objeto con una secuencia de texto utilizando XML o JSON. Prefiero JSON (más simple) y, de hecho, hay proyectos por ahí para dar soporte a las utilidades clásicas * NIX JSON. Por ejemplo: https://github.com/step-/JSON.awk
Un problema con el uso de un modelo de tipo de objeto para programas clásicos * NIX como AWK es que realmente no tienen soporte OO. Por ejemplo, aunque AWK tiene matrices asociativas, las matrices no son multidimensionales (cada elemento en una matriz de AWK debe ser un número o una cadena; una matriz no puede ser un objeto de matriz en AWK).
fuente