Ir al contenido

rc (shell)

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 05:17 5 jul 2014 por DonBarredora (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
rc
Desarrollador(es)
Bell Labs
http://doc.cat-v.org/plan_9/4th_edition/papers/rc
Información general
Paradigma imperativo
Apareció en 1989
Diseñado por Tom Duff
Última versión estable (DD de MM deExpresión errónea: palabra «aaaa» desconocida AAAA)
Sistema de tipos Dinámico, débil
Influido por Bourne shell, C, AWK
Sistema operativo Plan 9, UNIX

rc es el shell de Plan 9 from Bell Labs y UNIX Versión 10.

Similar a prácticamente todo shell, rc puede ser utilizado interactivamente ingresando en la consola las órdenes a ejecutar, confirmándolas con enter, o como intérprete para programas, cuando estas se colocan en un archivo de texto, utilizando el shebang: #!/bin/rc, como primer línea del mismo.

Historia

Sintaxis y semántica

De forma similar a lenguajes tradicionales de programación, y a diferencia de lenguajes de procesamiento de macros, como make o sh, por lo cual las expresiones son evaluadas directamente una única vez, a menos que justamente se utilice eval.

Una consecuencia inmediata de esto, es que por ejemplo al asignar texto a una variable, no ocurra separación en palabras al utilizarla:

% fn a{echo $#*}; b='hola mundo'; a $b
1

Mientras que en sh, tras la evaluación de la variable, ocurre una segunda etapa de separación por palabras y de globbing de archivos (se buscan aquellos archivos que coincidan con los patrones especificados en cada una de las palabras de la variable). Si no se deseara este comportamiento, se podría colocar la variable entre comillas: "$b".

$ a(){ echo $#;}; b='hola mundo'; a $b
2

Implementaciones

Hay una impelementación original para Plan 9 por Tom Duff.[1]​ Y una reimplementación para UNIX por Byron Rakitzis,[2]​ que presenta incompatilidades menores en sitaxis como $^var en lugar de $"var, y else en lugar de if not,[3]​ pero provee soporte a readline para la edición interactiva de líneas.

Referencias

  1. «rc - Código fuente» (en inglés). Consultado el 27 de noviembre de 2010. 
  2. «rc - a shell» (en inglés). Consultado el 27 de noviembre de 2010. 
  3. Manuales de Ubuntu. «rc - shell: Página man de reimplentación de rc.» (en inglés). Consultado el 27 de noviembre de 2010.