Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Eligiendo shell

Unix
Por Draco
departamento caparazones , Sección Desarrolladores
Puesto a las Fri Dec 6th, 2002 at 05:39:05 PM CET

Muchos de nosotros diariamente nos relacionamos con nuestro sistema vía línea de comandos. Sin embargo pocos hemos hecho una elección consciente: los linuxeros usan mayoritariamente bash, los BSDeros desde hace bastante tiempo o los que llevan muchos años en Unix (t)csh, y los que vienen de Unix comerciales Ksh.

Voy a intentar hacer un pequeño repaso de los shells más comunes(hay muchos más), para que podamos reafirmarnos en nuestra elección o sentirnos tentados de probar algo nuevo. Los shells que voy a nombrar son Bourne Shell, C-Shell, TC-Shell, Korn Shell, Bourne Again Shell y Z-Shell, y me voy basar en buena parte en el capítulo 13 de UNIX Unleashed, System Administrator's Edition. Sólo con lo que digo aquí no se puede decidir, pero si hay punteros a sitios en los que se puede encontrar más información

 


  • Bourne Shell Realmente no es una buena elección como shell interactivo, pero es el denominador común de todos los Unix, por lo que al programar uno debería ceñirse a él como ejercicio de buena costumbre. Un buen recopilatorio de información se puede encontrar aquí
  • C Shell Realmente tampoco es demasiada buena elección, salvo que estemos trabajando con Unix antiguos. Fue el primero en crearse después de sh, pero la implementación no fue todo lo buena que podría haber sido, además de que rompía con la sintaxis del Bourne Shell para acercarse a una sintaxis parecida a C. Como lenguaje de script está totalmente desaconsejado. Por otra parte suele encontrarse por defecto o en instalaciones restringidas de muchos Unix.
  • TC Shell Vistas las carencias de Csh, se crearon dos nuevos shells: el Korn Shell que tomaba ideas de csh con una sintaxis Bourne y el TC-Shell mantenía la sintaxis tcsh. Es un superconjunto de csh y la evolución natural de los usuarios del aquel. En los BSD en realidad csh no es más que un "hard link" a tcsh. No está tan presente en instalaciones mínimas pero es fácil encontrarlo en instalaciones no demasiado espartanas.
  • Korn Shell Ésta suele ser una elección recomendada. Es bastante potente y está muy extendido en los Unix comerciales. Si quieres cierta portabilidad y sh no te da la sufciente potencia suele ser la elección más recomendable. En un principio no era libre ni gratuito sino que había que pagar a AT&T para usarlo. Por eso surgió pdksh(Public Domain Korn Shell) aunque no es 100% compatible con el "oficial", o mejor dicho no tiene todas sus características. En las distros Linux, suele ser pdksh el que se distribuye. Hoy en día se ofrece el fuente pero no sé si está considerada su licencia como Free Software o Open Source.
  • Bourne Again Shell Como bien sabréis esta es el shell que se encuentra por defecto en las distribuciones Linux. Es similar en potencia al Korn Shell, si bien está mucho menos extendido fuera de Linux. Surgió como necesidad de tener un shell similar en potencia a ksh que fuese libre.
  • Z Shell Es el más potente de todos con diferencia. Está totalmente dirigido hacia la interactividad, y tiene multitud de opciones, por lo que es difícil manejar un amplio rango de ellas. Tiene un autocompletado dependiente del contexto, de manera que $ xpdf [TAB] mostrará sólo los ficheros pdf de ese directorio, y un editor "integrado" en el propio shell. En su contra hay que decir que es el menos extendido de este "club" de los más usados, y es el que más recursos consume con diferencia.
< Un Linux en cada ordenador. ¿Cómo lo hacemos? (37 comments) | ¿Donde está lo que busco? (6 comments) >
Enlaces Relacionados
· capítulo 13 de UNIX Unleashed, System Administrator's Edition
· aquí
· totalmente desaconsejado
· pdksh
· se ofrece el fuente
· More on Unix
· Also by Draco

Encuesta
¿Qué shell usas?
· sh 6%
· csh 6%
· tcsh 4%
· ksh 12%
· bash 65%
· zsh 3%
· Otro, que paso a comentar 1%

Votos: 82
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Eligiendo shell | 2 comentarios (2 temáticos, editoriales, 0 ocultos)
Bash también completa por contexto (4.50 / 2) (#1)
por jorginius ("jorginius" en Google Mail) a las Fri Dec 6th, 2002 at 11:50:27 AM CET
(Información Usuario) http://www.rodriguezmoreno.com

O lo puede hacer.

Dispone de globbing programable de manera que uno puede obligar que tras cierta entrada (xpdf, por ejemplo) sólo complete directorios y archivos *.pdf.

Una configuración popular para el globbing en bash es la de Ian McDonald que viene incluida de serie en el paquete de bash de Debian (/etc/bash_completion)



 
Bash esta bastante extendido en otros Unix (none / 0) (#2)
por iarenaza a las Fri Dec 6th, 2002 at 01:11:38 PM CET
(Información Usuario) http://www.escomposlinux.org/

Especialmente en Solaris. No porque venga de serie (que viene, en los paquetes de freeware que Sun distribuye ahora como parte de Solaris) sino porque mucha gente que ahora esta en Solaris empezo con csh (heredado de su experiencia con SunOS) o con Linux.

En el primer caso era un salto facil de dar (y una mejora importante) y en el segundo caso es una decisión lógica.

Máxime si tenemos en cuenta que las herramientas de GNU (gcc, bash, etc) son de las primeras cosas que los administradores de SunOS/Solaris instalaban/instalan en su maquina nada más recibirla (por motivos obvios de costes -gcc- y posibilidades -bash y otros-).

Algo similar suele pasar con HP-UX y Aix (al menos en el entorno que yo conozco).

Saludos. Iñaki.



 
Eligiendo shell | 2 comentarios (2 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda