Será necesario el bash. La versión por defecto de la practica
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ófigo 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 con 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 paracer innecesarias
para el programador experimentado.
Se inclyen muchos ejemplos y textos aclaratorios. Las diferentes partes serán de distinta utilidad para diferentes personas. Esto ha crecido lo suficiente como para que una lectura completa pueda resultar dificil - 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) y alemán ( Thomas Keil). ¡Gracias a ambos! Las URLS 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 comienze a leer por aquí, y no deje que esta lista le desanime - la mayoría son detalles de poca importancia. Unicamente échele un vistazo 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', pg 260-262screen no siempre funciona con colores ANSI.
Desafortunadamente no soy un experto en screen. My versión de
screen (una muy reciente) parece que funciona bien en estos casos,
pero he visto ocasiones en que screen 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 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 en el bash 2.02.bash 2.02+ que incorpora nuevas características, y
cambia alguno comportamientos. Algo que funcione bajo el 1.14.7 no tiene
por qué funcionar bajo el 2.0+, y al contrario.
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), pero 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 COMOs 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.
Creando este documento he tomado prestado mucho del proyecto BashPrompt en
http://bash.current.nu. Otras fuentes han sido el mini-COMO
acerca del título de las xterm de Ric Lister, disponible en
http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html, los
prompts ANSI de Keebler, disponible en
http://www.ncal.verio.com/~keebler/ansi.html, cómo hacer un prompt
bash de Stephen Webb, disponible en
http://bash.current.nu/bash/HOWTO.html, y X ANSI Fonts de Stumpy,
disponible en
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, e ideas suyas han conducido hacia interesantes prompts.
Tres libros que has sido de mucha utilidad programando prompts son 'Linux in a Nutshell' de Jessica Heckman Perry (O'Reilly, 1997), 'Learning the Bash Shell' de Cameron Newham y Bill Rosenblatt (O'Reilly, 2a. ed., 1998), y 'Unix Shell Programming' de Lowell Jay Arthur (Wiley, 1986; esta es la primera edición, la segunda apareción en 1997).
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 acerca de 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.