rc (shell de Unix)

Intérprete de línea de comandos para los sistemas operativos Unix versión 10 y Plan 9 de Bell Labs
radiocontrol
Paradigmaimperativo , canalización
Diseñado porTom Duff
ReveladorLaboratorios Bell
Apareció por primera vez1989 ; hace 35 años ( 1989 )
Disciplina de mecanografíadébil
Sistema operativoMultiplataforma ( versión 10 Unix , Plan 9 , Plan 9 desde User Space )
Sitio webdoc.cat-v.org/plan_9/4th_edition/papers/rc
Dialectos
El RC de Byron
Influenciado por
Concha Bourne
Influenciado
es, la concha del infierno
Una sesión de rc

rc (de " run commands ") es el intérprete de línea de comandos para los sistemas operativos Unix Versión 10 y Plan 9 de Bell Labs . Se parece al shell Bourne , pero su sintaxis es algo más simple. Fue creado por Tom Duff , quien es más conocido por una construcción inusual del lenguaje de programación C (" dispositivo de Duff "). [1]

Una versión del rc original para Unix es parte de Plan 9 de User Space . También está disponible una reescritura del rc para sistemas operativos tipo Unix realizada por Byron Rakitzis, pero incluye algunos cambios incompatibles.

Rc utiliza estructuras de control similares a C en lugar de las estructuras similares a ALGOL del Bourne Shell original , excepto que utiliza un if notconstructo en lugar de else, 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 constructos 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 basaba en el código del clon de rc para Unix de Byron Rakitzis. [5] [6]

El shell extensible tiene como objetivo proporcionar un lenguaje de programación completamente funcional como un shell Unix . [7] Lo hace mediante la introducción de "fragmentos de programa" entre llaves como un nuevo tipo de datos, alcance léxico a través de let y algunas mejoras menores más. La mayor parte del desarrollo de es se produjo 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] Los lanzamientos oficiales parecen haber cesado después de 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 a partir de 2019. [ 11]es[actualizar]

Ejemplos

El script de shell de Bourne:

si [ " $1 " = "hola" ] ; entonces echo hola, mundo de lo contrario caso " $2 " en 1 ) echo $# 'hey' "jude's" $3 ;; 2 ) echo ` fecha ` : $* : : " $@ " : ;; * ) echo por qué no 1 > & 2 esac para i en a b c ; hacer echo $i hecho fi                                      

se expresa en rc como:

si(~$1 hola) eco hola mundosi no { cambiar($2) { caso 1 eco $#* 'hola' 'jude''s'^$3 caso 2 eco `{fecha} :$"*: :$*: caso * eco por qué no >[1=2] } para(i en abc) eco $i}

Rc también admite tuberías más dinámicas:

a |[2] b # solo envía el error estándar 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 entrada y salida estándar de
a a <{b} <{c} # se convierte en a {salida estándar de b} {salida estándar de c}, # mejor conocida como " sustitución de proceso " [1] : Ramificación de canalización 

Referencias

  1. ^ abcd Duff, Tom (1990). ""Rc — El Plan 9 Shell"". cat-v . Consultado el 26 de enero de 2024 .
  2. ^ Fischer, Manfred M. (13 de diciembre de 1996). Perspectivas analíticas espaciales en SIG. CRC Press. ISBN 9780748403400.
  3. ^ "Página de manual de Ubuntu: es - shell extensible". Manpages.ubuntu.com. 5 de marzo de 1992. Archivado desde el original el 24 de febrero de 2014. Consultado el 24 de agosto de 2012 .
  4. ^ "Extensible Shell". FOLDOC . Consultado el 24 de agosto de 2012 .
  5. ^ "Shells disponibles para Linux". LUV . Consultado el 24 de agosto de 2012 .
  6. ^ Jones, Tim. "Evolución de los shells en Linux". IBM . Consultado el 14 de marzo de 2014 .
  7. ^ "Linux Journal 12: ¿Qué es GNU?". Archivado desde el original el 17 de enero de 2013. Consultado el 24 de agosto de 2012 .
  8. ^ Es: Un shell con funciones de orden superior por Byron Rakitzis, NetApp, Inc , y Paul Haahr, Adobe Systems Incorporated ; Archivado en Archive.Org.
  9. ^ [1]
  10. ^ "Diferencias entre los shells de UNIX". Faqs.org . Consultado el 24 de agosto de 2012 .
  11. ^ Haggerty, James (13 de marzo de 2020). «wryun/es-shell: un shell con funciones de orden superior». GitHub .
  • rc(1)- Página del manual del plan 9
  • Plan 9 de User Space: incluye rc y otras herramientas de Plan 9 para Linux, Mac OS X y otros sistemas tipo Unix
  • La nueva versión de Byron Rakitzis para Unix (artículo archivado el 5 de octubre de 2013 en Wayback Machine )
  • es Sitio web oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=Rc_(Unix_shell)&oldid=1250089436"