
rc (por " ejecutar comandos ") es el intérprete de línea de comandos para los sistemas operativos Unix versión 10 y Plan 9 de Bell Labs . Se asemeja al shell Bourne , pero su sintaxis es algo más simple. Fue creado por Tom Duff , más conocido por una construcción inusual del lenguaje de programación C (" el dispositivo de Duff "). [ 1 ]
Una adaptación del rc original a Unix forma parte del Plan 9 de User Space . También está disponible una reescritura de rc para sistemas operativos tipo Unix realizada por Byron Rakitzis, pero incluye algunos cambios incompatibles.
Rc utiliza estructuras de control similares a las de C en lugar de las estructuras similares a ALGOL del shell Bourne original , excepto que usa una if notconstrucción en lugar de elseen la implementación original, pero usa elseen la implementación de Byron Rakitzis, y tiene un bucle similar al de Bourne forpara iterar sobre listas. En rc, todas las variables son listas de cadenas, lo que elimina la necesidad de construcciones como "$@". Las variables no se vuelven a dividir cuando se expanden. El lenguaje se describe en el artículo de Duff. [ 1 ]
Influencias
es
es (por "extensible shell") es un intérprete de línea de comandos de código abierto desarrollado por Rakitzis y Paul Haahr [ 2 ] que utiliza una sintaxis de lenguaje de scripting influenciada por el shell rc. [ 3 ] [ 4 ] Originalmente se basó en el código del clon de rc para Unix de Byron Rakitzis. [ 5 ] [ 6 ]
Extensible Shell tiene como objetivo proporcionar un lenguaje de programación completamente funcional como shell de Unix . [ 7 ] Lo logra introduciendo "fragmentos de programa" entre llaves como un nuevo tipo de dato, ámbito léxico mediante ` let` y algunas mejoras menores. La mayor parte del desarrollo de es tuvo lugar a principios de la década de 1990, después de que el shell se presentara en la conferencia USENIX de invierno de 1993 en San Diego . [ 8 ] Las versiones oficiales parecen haber cesado después de la 0.9-beta-1 en 1997, [ 9 ] y es carece de características presentes en shells más populares, como zsh y bash . [ 10 ] Una bifurcación de dominio público de está activa desde 2019.es. [ 11 ]
Ejemplos
El script de Bourne shell:
if [ hello = " $1 " ] ; then echo hello, world else case $2 in 1 ) echo " $# " 'hey' "jude's $3 " ;; 2 ) echo ` date ` : " $* " : : " $@ " : ;; * ) echo why not 1 > & 2 esac for i in a b c ; do echo " $i " done fise expresa en rc como:
si(~ $1 hola) eco hola, mundo si no { interruptor($2) { caso 1 echo $#* 'hola' 'jude''s'^$3 caso 2 echo `{date} :$"*: :$*: caso * ¿Por qué no? >[1=2] } para (i en abc) eco $i } Rc también admite tuberías más dinámicas:
a |[2] b # canaliza solo el error estándar de a a b — equivalente a '{ a 2>&1 >&3 3>&- | b; } 3>&1' en Bourne shell [ 1 ] : Redirección avanzada de E/S a <{b} <{c} # se convierte en una {tubería con nombre y salida estándar de b} {tubería con nombre y salida estándar de c}, # mejor conocida como " sustitución de procesos " [ 1 ] : Ramificación de tuberías
Referencias
- 1 2 3 4 Duff, Tom (1990). ""Rc — El caparazón del Plan 9"" . cat-v . Consultado el 26-01-2024 .
- ↑ Fischer, Manfred M. (13 de diciembre de 1996). Perspectivas analíticas espaciales sobre SIG . CRC Press. ISBN 9780748403400.
- ↑ "Ubuntu Manpage: es - extensible shell" . Manpages.ubuntu.com. 5 de marzo de 1992. Archivado del original el 24 de febrero de 2014. Consultado el 24 de agosto de 2012 .
- ↑ "Extensible Shell" . FOLDOC . Consultado el 24 de agosto de 2012 .
- ↑ "Shells disponibles para Linux" . LUV. Archivado del original el 22 de marzo de 2012. Consultado el 24 de agosto de 2012 .
- ↑ Jones, Tim. "Evolución de los shells en Linux" . IBM . Consultado el 14 de marzo de 2014 .
- ↑ "Linux Journal 12: ¿Qué es GNU?" . Archivado del original el 17 de enero de 2013. Consultado el 24 de agosto de 2012 .
- ↑ Es: Un shell con funciones de orden superior por Byron Rakitzis, NetApp, Inc. , y Paul Haahr, Adobe Systems Incorporated ; Archivado en Archive.Org .
- ↑ https://web.archive.org/web/20230308211038/ftp://ftp.sys.utoronto.ca/pub/es/
- ↑ "Diferencias de shell de UNIX" . Faqs.org . Consultado el 24 de agosto de 2012 .
- ↑ Haggerty, James (13 de marzo de 2020). "wryun/es-shell: un shell con funciones de orden superior" . GitHub .
Enlaces externos
- - Página del manual del Plan 9
- Reescritura de Byron Rakitzis para Unix en GitHub ( artículo archivado el 5 de octubre de 2013 en Wayback Machine ).
- Sitio web oficial de es
- rc23 Una bifurcación de la rc de Byron
- shells de Unix
- Software de sistema gratuito
- Inferno (sistema operativo)
- Plan 9 de Bell Labs
- Lenguajes de programación procedimental
- Lenguajes de programación creados en 1989
- Lenguajes de scripting
- Lenguajes de programación orientados a texto