ant

INTÉRPRETES DE COMANDOS
3.6

sig

3.6 Tipos de interpretes de comandos

Como hemos mencionado anteriormente en numerosas ocasiones, UNIX es un sistema operativo multitarea y multiusuario. La multitarea es muy útil, y una vez la haya probado, la usará continuamente. En poco tiempo podrá ejecutar programas "en background", conmutar entre múltiples tareas y "entubar" programas unos entre otros para conseguir resultados complejos con un único comando.

Muchas de las características que trataremos en esta sección son proporcionadas por el interprete de comandos. Hay que tener cuidado en no confundir UNIX (el sistema operativo) con el interprete de comandos! éste ultimo, es un interface con el sistema que hay debajo. El interprete de comandos proporciona la funcionalidad sobre el UNIX.

El interprete de comandos no es solo un interprete interactivo de los comandos que tecleamos, es también un potente lenguaje de programación, el cual permite escribir guiones, que permiten juntar varias ordenes en un fichero. Los usuarios de MS-DOS reconocerán esto como los ficheros "batch". El uso de los guiones del interprete de comandos es una herramienta muy potente que le permitirá automatizar e incrementar el uso de UNIX. Ver la sección 3.13.1 para mas información.

Hay varios tipos de interpretes de comandos en el mundo UNIX. Los dos mas importantes son el "Bourne shell" y el "C shell". El interprete de comandos Bourne, usa una sintaxis de comandos como la usada en los primeros sistemas UNIX, como el System III. El nombre del interprete Bourne en la mayoría de los UNIX es /bin/sh (donde sh viene de "shell", interprete de comandos en ingles). El interprete C usa una sintaxis diferente, a veces parecida a la del lenguaje de programación C, y en la mayoría de los sistemas UNIX se encuentra como /bin/csh.

Bajo Linux hay algunas diferencias en los interpretes de comandos disponibles. Dos de los más usados son el "Bourne Again Shell" o "Bash" (/bin/bash) y Tcsh (/bin/tcsh).

Bash es un equivalente al Bourne con muchas características avanzadas de la C shell. Como Bash es un super-conjunto de la sintaxis del Bourne, cualquier guión escrito para el interprete de comandos Bourne standard funcionará en Bash. Para los que prefieren el uso del interprete de comandos C, Linux tiene el Tcsh, que es una version extendida del C original.

El tipo de interprete de comandos que decida usar es puramente una cuestion de gustos. Algunas personas prefieren la sintaxis del Bourne con las características avanzadas que proporciona Bash, y otros prefieren el más estructurado interprete de comandos C. En lo que respecta a los comandos usuales como cp, ls..etc, es indiferente el tipo de interprete de comandos usado, la sintaxis es la misma. Solo, cuando se escriben guiones para el interprete de comandos, o se usan características avanzadas aparecen las diferencias entre los diferentes interpretes de comandos.