Será necesario el bash
. La versión por defecto de la práctica
totalidad de distribuciones LiNUX es la 1.14.7
, que es una
versión bien conocida y de confianza. Actualmente se encuentra disponible
la versión 2.0
(incluso superiores): yo llevo usando la 2.0
algún tiempo, pero la mayoría del código aquí presentado debería funcionar
bajo la 1.14.7
. Si conozco alguna incompatibilidad, lo mencionaré. Se
puede comprobar la versión del bash
mediante el comando echo
$BASH_VERSION
. En mi máquina responde 2.02.1(1)-release
.
La experiencia en programación shell
puede venir bien, pero no es
esencial: cuanto más se sepa, más complejos serán los prompts que se
puedan crear. Presupongo un conocimiento básico de la programación
shell
y utilidades unix a lo largo de este tutorial. Sin embargo, mis
propios niveles de programación shell
son limitados, así que doy gran
cantidad de ejemplos y explicaciones que pueden parecer innecesarias para
el programador experimentado.
Se incluyen muchos ejemplos y textos aclaratorios. Su utilidad variará según la persona de la que se trate. Esto ha crecido lo suficiente como para que una lectura completa pueda resultar difícil; se recomienda leer únicamente las secciones que se necesite, volviendo hacia atrás las veces que sea necesario.
A fecha de 6 de Enero de 1999, existen traducciones al japonés (Akira
Endo,
akendo@t3.rim.or.jp
) y alemán (Thomas Keil,
thomas@h-preissler.de
).
ˇGracias a ambos! Las URL serán incluidas cuando estén disponibles.
N. del T.
bueno, ahora también está disponible la versión en castellano ;)
Esta es una lista de problemas que he encontrado programando prompts. No comience a leer por aquí, y no deje que esta lista le desanime, la mayoría son detalles de poca importancia. Échele un vistazo únicamente si llega a algún punto conflictivo.
bash
(tales como funciones matemáticas
dentro de $(())
, entre otras) son opciones en tiempo de
compilación. Si está usando una distribución binaria, como la que viene en
las distribuciones estándar de LiNUX, tales características deberían estar
incluidas. Pero si está trabajando en otro sistema, merece la pena
recordar esto si no funciona algo que debería hacerlo. Algunas notas
acerca de esto en Learning the Bash Shell, págs 260-262
screen
no siempre funciona con colores ANSI.
Desafortunadamente no soy un experto en screen
. Mi versión de
screen
(una muy reciente) parece que funciona bien en estos casos,
pero he visto ocasiones en que redujo todos los colores del prompt al
color de primer plano estándar en terminales X. Esto no parece ser un
problema en la consola.
Xdefaults
pueden redefinir colores. Mire en
~/.Xdefaults
las líneas referidas a XTerm*background
y
XTerm*foreground
(o posiblemente XTerm*Background
y
XTerm*Foreground
).
jobs
- como se comenta en su momento, las salida de
jobs
a una tubería no funciona con bash 2.02
.
bash 2.02+
que incorpora nuevas características, y
cambia algunos comportamientos. Lo que funcionase bajo la versión
1.14.7
no tiene por qué funcionar bajo la 2.0+
, y viceversa.
Esta es una experiencia de aprendizaje para mi. He llegado a saber
bastante acerca de lo que se puede hacer para crear prompts
interesantes y útiles, pero necesito indicaciones para corregir y mejorar
este documento. He intentado comprobar las sugerencias que yo hago contra
diferentes versiones de bash
(sobre todo la 2.02
que uso, y la
1.14.7
que es la más popular), no obstante, comuníqueme cualquier
incompatibilidad que encuentre.
La última versión de éste documento debería estar siempre disponible en
http://www.interlog.com/~giles/bashprompt.html
. Compruébelo y
siéntase libre de mandarme un mensaje a
giles@interlog.com
con sus
sugerencias.
Utilizo los HOWTOs del Linux Documentation Project casi exclusivamente en formato HTML, así que cuando los convierto desde SGML, el HTML es el único formato que compruebo concienzudamente. Si hay problemas con otros formatos puede que yo no sepa nada, por lo que agradecería cualquier comentario sobre ello.
En la creación de este documento he tomado prestado mucho del proyecto
BashPrompt, disponible en
http://bash.current.nu
.
Otras fuentes han sido:
xterm
de Ric Lister,
disponible en
http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html
.
http://www.ncal.verio.com/~keebler/ansi.html
.
bash
de Stephen Webb, disponible en
http://bash.current.nu/bash/HOWTO.html
.
http://home.earthlink.net/~us5zahns/enl/ansifont.html
También han sido de inmensa ayuda numerosas conversaciones y e-mails de Dan, un compañero del Georgia College & State University, cuyo conocimiento sobre unix sobrepasa el mío con mucho. Me ha proporcionado excelentes sugerencias; ideas suyas han conducido hacia prompts interesantes.
Tres libros que me han has sido de mucha utilidad programando prompts son:
Este documento es copyright ©1998-1999 de Giles Orr. Se anima a su distribución, aunque no debería modificarse este documento (véase la sección Comentarios y Sugerencias para todo lo referente a ponerse en contacto conmigo: he venido añadiendo los cambios sugeridos por los lectores desde hace mucho). Póngase en contacto conmigo si está interesado en realizar una traducción, esa es una de las modificaciones con las que puedo vivir.