tutorial online python unix shell

python - online - Shell UNIX escrito en un lenguaje razonable?



python interpreter pycharm (7)

¿Alguien ha oído hablar de un shell de UNIX escrito en un lenguaje razonable, como Python?


Bueno, hay emacs, que es posiblemente un shell escrito en lisp :)

En serio, ¿estás buscando una reimplementación de un diseño de shell existente en un idioma diferente como Python? ¿O está buscando una nueva implementación de un lenguaje de shell que se parezca a su idioma de elección?


Desde todo punto de vista, Python ES un caparazón. Funciona con #! y puede funcionar de manera interactiva. Entre los paquetes os y shutil tienes todas las características de los shells Unix estándar.

Como puede hacer cualquier cosa en Python con scripts simples y potentes, no necesita perder el tiempo jugando con las otras shells.


Tclsh es bastante agradable (suponiendo que te guste Tcl, por supuesto).


iPython (Python) y Rush (Ruby) son shells diseñados para lenguajes más avanzados. También está Hotwire, que es una especie de emulador de shell / terminal integrado extraño.


  • Eshell es un shell tipo Bash en Emacs Lisp.
  • IPython se puede usar como un shell del sistema , aunque la sintaxis es un poco extraña (es compatible con todas las construcciones de Python plus basic sh).
  • fish tiene un núcleo escrito en C, pero gran parte de su funcionalidad se implementa en sí misma. A diferencia de muchas shells raras, se puede usar como shell de inicio de sesión.
  • Hotwire merece otra mención. Su diseño básico parece ser "PowerShell en Python", pero también hace algunas cosas inteligentes con la interfaz de usuario. El último lanzamiento fue en 2008.
  • Zoidberg está escrito en Perl y usa la sintaxis de Perl. Un proyecto bonito, lástima que parece haberse estancado.
  • Scsh sería un dolor de usar como shell de inicio de sesión (un comando de ejemplo de los documentos: (run/strings (find "." -name *.c -print)) ), pero parece un buen "Perl in Scheme". "


Pruebe la erupción . Es un lenguaje de shell escrito en Racket. Tiene una buena sintaxis amigable interactiva. Puede incrustar Rash dentro de cualquier archivo Racket normal, así como incrustar Racket normal dentro de Rash. Es extensible y puede definir nuevos operadores de canalización. Todavía es calidad alfa en este momento, pero es genial. Divulgación completa: lo escribí.