rc (para " ejecutar comandos ") es el intérprete de línea de comandos para la versión 10 Unix y Plan 9 de los sistemas operativos Bell Labs . Se parece al shell de Bourne , pero su sintaxis es algo más simple. Fue creado por Tom Duff , mejor conocido por una construcción de lenguaje de programación C inusual (" dispositivo de Duff "). [1]
Paradigma | imperativo , tubería |
---|---|
Diseñada por | Tom Duff |
Desarrollador | Laboratorios Bell |
Apareció por primera vez | 1989 |
Disciplina de mecanografía | débil |
SO | Multiplataforma ( Versión 10 Unix , Plan 9 , Plan 9 del Espacio de usuario ) |
Sitio web | doc |
Dialectos | |
Rc de Byron | |
Influenciado por | |
Cáscara de Bourne | |
Influenciado | |
es , el caparazón del infierno . |
Un puerto del rc original a Unix es parte del Plan 9 de User Space . También está disponible una reescritura de rc para sistemas operativos tipo Unix por Byron Rakitzis, pero incluye algunos cambios incompatibles.
Rc usa estructuras de control similares a C en lugar de las estructuras similares a ALGOL del shell Bourne original , excepto que usa una if not
construcción en lugar de else
, y tiene un for
bucle similar a Bourne para iterar sobre las 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 (para "cáscara extensible") es un código abierto , intérprete de línea de comandos desarrollado por Rakitzis y Paul Haahr [2] que utiliza un lenguaje de script sintaxis influenciado por el shell rc. [3] [4] Originalmente se basó en el código del clon de Byron Rakitzis de rc para Unix. [5] [6]
El shell extensible está destinado a proporcionar un lenguaje de programación completamente funcional como un shell de Unix . [7] Lo hace introduciendo "fragmentos de programa" entre llaves como un nuevo tipo de datos, alcance léxico a través de let y algunas mejoras menores. La mayor parte del desarrollo de es ocurrió a principios de la década de 1990, después de que se introdujera el caparazón en la conferencia USENIX de invierno de 1993 en San Diego , [8] Los lanzamientos oficiales parecen haber cesado después de 0.9-beta-1 en 1997, [9] y es carece características en comparación con shells más populares, como zsh y bash . [10] Una bifurcación de dominio público de está activa a partir de 2019. [11]es
Ejemplos de
El script de shell de Bourne:
si [ " $ 1 " = "hola" ] ; luego echo hola, mundo en caso contrario " $ 2 " en 1 ) echo $ # 'hey' "jude's" $ 3 ;; 2 ) eco ' fecha ' : $ * :: " $ @ " : ;; * ) echo por qué no 1 > & 2 esac para i en abc ; hacer eco $ lo hice fi
se expresa en rc como:
si (~ $ 1 hola) echo hola, mundosi no { cambiar ($ 2) { caso 1 echo $ # * 'hey' 'jude''s' ^ $ 3 caso 2 echo `{fecha}: $" *:: $ *: caso * repetir por qué no> [1 = 2] } para (yo en abc) echo $ i}
Rc también admite tuberías más dinámicas:
a | [2] b # error estándar de tubería sólo de a a b - equivalente a '3> & 2 2> & 1> & 3 | b 'en Bourne shell [1] ( Redirección de E / S avanzada ) a <> b # abre el archivo b como la entrada estándar de a y la salida estándar a <{b} <{c} # se convierte en una {salida estándar de b} {estándar salida de c}. Mejor conocido como " sustitución de procesos " [1] ( Ramificación de canalización )
Referencias
- ^ a b c d Duff, Tom. Rc - El caparazón del Plan 9 . Plan 9, 4ª edición .( PDF ; versión de 1990 )
- ^ Fischer, Manfred M. (13 de diciembre de 1996). Perspectivas analíticas espaciales sobre SIG . ISBN 9780748403400.
- ^ "Ubuntu Manpage: es - shell extensible" . Manpages.ubuntu.com. 1992-03-05. Archivado desde el original el 24 de febrero de 2014 . Consultado el 24 de agosto de 2012 .
- ^ "Carcasa extensible" . FOLDOC . Consultado el 24 de agosto de 2012 .
- ^ "Shells disponibles para Linux" . LUV . Consultado el 24 de agosto de 2012 .
- ^ Jones, Tim. "Evolución de shells en Linux" . IBM . Consultado el 14 de marzo de 2014 .
- ^ "Linux Journal 12: ¿Qué es GNU" . Archivado desde el original el 17 de enero de 2013 . Consultado el 24 de agosto de 2012 .
- ^ Es: Un shell con funciones de orden superior de Byron Rakitzis, NetApp, Inc y Paul Haahr, Adobe Systems Incorporated ; Archivado en Archive.Org .
- ^ [1]
- ^ "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 de manual del plan 9.
- Plan 9 desde el espacio de usuario : incluye rc y otras herramientas de Plan 9 para Linux, Mac OS X y otros sistemas similares a Unix.
- Reescritura de Byron Rakitzis para Unix ( artículo archivado el 5 de octubre de 2013 en Wayback Machine )
- es Sitio web oficial