16.04.2014 Views

Administración avanzada de GNU/Linux (PDF) - SW Computación

Administración avanzada de GNU/Linux (PDF) - SW Computación

Administración avanzada de GNU/Linux (PDF) - SW Computación

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Administración <strong>avanzada</strong> <strong>de</strong> <strong>GNU</strong>/<strong>Linux</strong><br />

ª FUOC • XP04/90785/00019<br />

b) El shell Bourne (sh). Éste ha sido <strong>de</strong>s<strong>de</strong> siempre el shell estándar<br />

UNIX, y el que todos los UNIX poseen en alguna versión. Normalmente,<br />

es el shell por <strong>de</strong>fecto <strong>de</strong>l administrador (root). En <strong>GNU</strong>/<strong>Linux</strong><br />

suele ser el Bash, una versión mejorada <strong>de</strong>l Bourne. El sh fue creado<br />

por Stephen Bourne en AT&T a finales <strong>de</strong> los setenta. El indicador (o<br />

prompt) por <strong>de</strong>fecto suele ser un ’$’ (en root un ’#’).<br />

Nota<br />

El shell es un programa más<br />

<strong>de</strong> usuario, existiendo diferentes<br />

posibilida<strong>de</strong>s <strong>de</strong> elección,<br />

con funcionalida<strong>de</strong>s y<br />

prestaciones diferentes.<br />

c) El shell Korn (ksh). Es un superconjunto <strong>de</strong>l Bourne (se mantiene cierta<br />

compatibilidad), escrito en AT&T por David Korn (a mediados <strong>de</strong> los<br />

ochenta), en el cual se hizo cierta mezcla <strong>de</strong> funcionalida<strong>de</strong>s <strong>de</strong>l Bourne<br />

y <strong>de</strong>l C, más algún añadido. El prompt por <strong>de</strong>fecto es el $.<br />

d) El shell C (csh). Fue <strong>de</strong>sarrollado en la Universidad <strong>de</strong> Berkeley<br />

por Bill Joy a finales <strong>de</strong> los setenta y tiene unos cuantos añadidos<br />

interesantes al Bourne, como un histórico <strong>de</strong> comandos, alias,<br />

aritmética <strong>de</strong>s<strong>de</strong> la línea <strong>de</strong> comandos, completa nombres <strong>de</strong> ficheros<br />

y control <strong>de</strong> trabajos en segundo plano. El prompt por <strong>de</strong>fecto<br />

para los usuarios es ‘%’. Los usuarios UNIX suelen preferir<br />

este shell como interactivo, pero los administradores UNIX prefieren<br />

utilizar el Bourne, ya que los scripts suelen quedar más compactos,<br />

y la ejecución suele ser más rápida. Por otro lado, una<br />

ventaja <strong>de</strong> los scripts en C shell es que, como su nombre indica,<br />

su sintaxis está basada en el lenguaje C.<br />

e) Otros, como versiones restringidas o especializadas <strong>de</strong> los anteriores.<br />

El shell Bash (Bourne Again Shell) [G00] [Coo03] ha adquirido importancia<br />

<strong>de</strong>s<strong>de</strong> su inclusión en los sistemas <strong>GNU</strong>/<strong>Linux</strong> como shell por<br />

<strong>de</strong>fecto. Este shell forma parte <strong>de</strong>l software <strong>GNU</strong>. Es un intento <strong>de</strong><br />

combinar los tres shell anteriores (Bourne, C y Korn), manteniendo la<br />

sintaxis <strong>de</strong>l shell Bourne original. Es en el que nos vamos a fijar para<br />

<strong>de</strong>sarrollar ejemplos posteriores.<br />

Una forma rápida <strong>de</strong> conocer bajo qué shell nos encontramos como<br />

usuarios es mediante la variable $SHELL, <strong>de</strong>s<strong>de</strong> una línea <strong>de</strong> comandos<br />

con la instrucción:<br />

echo $SHELL<br />

Algunas cuestiones que encontraremos comunes a todos los shells:<br />

• Todos permiten la escritura <strong>de</strong> shell scripts que son luego interpretados<br />

ejecutándolos bien por el nombre (si el fichero tiene permiso <strong>de</strong><br />

ejecución) o bien pasándolo como parámetro al comando <strong>de</strong>l shell.<br />

ANOTACIONES<br />

115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!