<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>Bash Prompt HOWTO: Introduzione</TITLE> <LINK HREF="Bash-Prompt-HOWTO-2.html" REL=next> <LINK HREF="Bash-Prompt-HOWTO.html#toc1" REL=contents> </HEAD> <BODY> <A HREF="Bash-Prompt-HOWTO-2.html">Avanti</A> Indietro <A HREF="Bash-Prompt-HOWTO.html#toc1">Indice</A> <HR> <H2><A NAME="s1">1. Introduzione</A></H2> <H2><A NAME="ss1.1">1.1 Prerequisiti</A> </H2> <P>Avrete bisogno di Bash. La versione fornita con quasi tutte le distribuzioni Linux è la 1.14.7 (al momento della stesura di questo documento, Novembre 98), che è una shell ben conosciuta e affidabile. Bash è ora disponibile nella versione 2.0+: oramai ho utilizzato Bash 2.0 per qualche tempo, ma quasi tutto il codice qui presentato dovrebbe funzionare con la 1.14.7. Se dovessi essere a conoscenza di un problema, ne farò menzione. Potete controllare la vostra versione di Bash digitando <CODE>echo $BASH_VERSION</CODE> al prompt. Sulla mia macchina, risponde con <CODE>2.02.1(1)-release</CODE>. <P> <P>Sarebbe utile, ma non essenziale, esperienza nella programmazione shell: più ne sapete, più sarete in grado di creare prompt complessi. In questo tutorial presuppongo una conoscenza di base della programmazione shell e delle utility Unix. Comunque, le mie stesse capacità nella programmazione shell sono limitate, così fornisco molti esempi e spiegazioni che possono apparire superflue ad un esperto programmatore shell. <P> <P> <H2><A NAME="ss1.2">1.2 Come Usare Questo Documento</A> </H2> <P>Includo molti esempi e spiegazioni. Parti diverse saranno utili in varia misura a persone diverse. Questo documento è diventato abbastanza lungo e leggerlo tutto in una volta sarebbe difficile - leggete solamente le sezioni che vi servono, tornate indietro quando necessario. <P> <H2><A NAME="ss1.3">1.3 Traduzioni</A> </H2> <P>Al momento in cui scrivo (6 gennaio 99), sono in lavorazione traduzioni in giapponese (Akira Endo, <A HREF="mailto:akendo@t3.rim.or.jp">akendo@t3.rim.or.jp</A>) e tedesco (Thomas Keil, <A HREF="mailto:thomas@h-preissler.de">thomas@h-preissler.de</A>). Molte grazie ad entrambi! Gli URL verranno inclusi quando le traduzioni saranno disponibili. <P> <H2><A NAME="ss1.4">1.4 Problemi</A> </H2> <P>Questa è una lista di problemi che ho notato nel programmare i prompt. Non iniziate a leggere qui, e non lasciate che questa lista vi scoraggi - questi sono principalmente dettagli minori. Controllate qui se vi scontrate con qualche cosa di strano. <P> <UL> <LI>Molte funzionalità di Bash (come i calcoli matematici all'interno di $(()) fra gli altri) sono opzioni definite in fase di compilazione. Se state usando una distribuzione binaria come quelle fornite con una distribuzione standard di Linux, tutte queste funzionalità dovrebbero essere già definite in fase di compilazione. Ma se state lavorando sul sistema altrui, vale la pena ricordarsene se qualcosa non funziona come vi aspettate. Vi sono alcune note su questo in <EM>Learning the Bash Shell</EM>, p.260-262.</LI> <LI>Lo screen manager "screen" non funziona sempre bene con i colori ANSI. Sfortunatamente non sono un esperto di screen. La mia attuale versione di screen (una molto recente) sembra funzionare bene in tutti i casi, ma ho visto occasioni in cui screen ha ridotto tutti i colori del prompt al colore di primo piano standard negli X terminal. Questo non sembra essere un problema nella consolle. </LI> <LI>I file Xdefault possono reimpostare i colori. Cercate in ~/.Xdefaults linee che fanno riferimento a XTerm*background e XTerm*foreground (o forse XTerm*Background e XTerm*Foreground). </LI> <LI>Uno dei prompt menzionati in questo documento usa l'output di "jobs" - come già discusso, l'output di "jobs" verso un pipe non funziona in Bash 2.02. </LI> <LI>Le sequenze di escape ANSI per il movimento del cursore non sono tutte implementate in tutti gli X terminal. Questo è discusso in una sezione a parte. </LI> <LI>Alcune pseudo-immagini carine possono essere create usando i font VGA piuttosto che i font standard di Linux. Sfortunatamente, questi effetti sono pessimi se non usate font VGA, e non c'è modo di scoprire all'interno di un terminale quali font sta usando. </LI> <LI>Bash 2.0+ è disponibile e include alcune nuove funzionalità e cambia un po' il comportamento. Cose che funzionano sulla 1.14.7 non funzionano necessariamente sulla 2.0+, o vice versa.</LI> </UL> <P> <H2><A NAME="ss1.5">1.5 Inviatemi Commenti e Suggerimenti</A> </H2> <P>Questa è anche per me una "esperienza didattica". Sono arrivato a saperne un bel po' su cosa può essere fatto per creare prompt Bash interessanti e utili, ma ho bisogno dei vostri suggerimenti per correggere e migliorare questo documento. Ho provato a controllare i miei suggerimenti con versioni differenti di Bash (principalmente 2.02, che uso, e 1.14.7, che è molto usata), ma fatemi sapere se trovate delle incompatibilità. <P> <P>L'ultima versione di questo documento dovrebbe essere sempre disponibile su <A HREF="http://www.interlog.com/~giles/bashprompt.html">http://www.interlog.com/~giles/bashprompt.html</A>. Per favore dategli un'occhiata e lasciate pure un e-mail a <A HREF="mailto:giles@interlog.com">giles@interlog.com</A> con suggerimenti. <P> <P>Uso gli HOWTO del Linux Documentation Project quasi esclusivamente in formato HTML, così quando converto questo documento da SGML, HTML è l'unico formato che controllo interamente. Se ci sono problemi con altri formati, potrei non saperlo e gradirei una nota a riguardo. <P> <H2><A NAME="ss1.6">1.6 Crediti</A> </H2> <P>Nel produrre questo documento, ho preso in prestito molto dal lavoro del progetto Bashprompt su <A HREF="http://bash.current.nu/">http://bash.current.nu/</A>. Altre fonti usate includono l'<EM>xterm Title mini-HOWTO</EM> di Ric Lister, reperibile su <A HREF="http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html">http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html</A>, <EM>Ansi Prompts</EM> di Keebler, reperibile su <A HREF="http://www.ncal.verio.com/~keebler/ansi.html">http://www.ncal.verio.com/~keebler/ansi.html</A>, <EM>How to make a Bash Prompt Theme</EM> di Stephen Webb, reperibile su <A HREF="http://bash.current.nu/bash/HOWTO.html">http://bash.current.nu/bash/HOWTO.html</A> e <EM>X ANSI Fonts</EM> di Stumpy, reperibile su <A HREF="http://home.earthlink.net/~us5zahns/enl/ansifont.html">http://home.earthlink.net/~us5zahns/enl/ansifont.html</A>. <P> <P>Sono state anche di immenso aiuto diverse conversazioni e e-mail di Dan, un collega del Georgia College & State University, le cui conoscenze di UNIX superano di molto le mie. Egli mi ha dato numerosi ed eccellenti suggerimenti, le sue idee hanno portato ad alcuni prompt interessanti. <P> <P> <P>Tre libri che sono stati utili nel prorammare i prompt sono <EM>Linux in a Nutshell</EM> di Jessica Heckman Perry (O'Reilly, 1997), <EM>Learning the Bash Shell</EM> di Cameron Newham e Bill Rosenblatt (O'Reilly, 2nd. ed., 1998) e <EM>Unix Shell Programming</EM> di Lowell Jay Arthur (Wiley, 1986. Questa è la prima edizione, la quarta è uscita nel 1997). <P> <H2><A NAME="ss1.7">1.7 Copyright e Liberatoria</A> </H2> <P>This document is copyright 1998-1999 by Giles Orr. You are encouraged to redistribute it. You may not modify this document (see the section on contacting me: I have so far been incorporating all changes recommended by readers). Please contact me if you're interested in doing a translation: that's one modification I can live with. <P>This document is available for free, and, while I have done the best I can to make it accurate and up to date, I take no responsibility for any problems you may encounter resulting from the use of this document. <P>Ovvero: <P>Questo documento è sotto il copyright di 1998-1999 by Giles Orr. Siete incoraggiati a ridistribuirlo. Non potete modificare questo documento (vedete la sezione su come contattarmi: fino ad ora ho incluso tutti cambiamenti raccomandati dai lettori). Per piacere contattatemi se siete interessati a fare una traduzione: è una modifica che posso tollerare. <P> <P>Questo documento è disponibile gratuitamente e, mentre ho fatto il mio meglio per renderlo accurato e aggiornato, non mi assumo nessuna responsabilità per alcun problema in cui vi possiate imbattere come risultato dell'uso di questo documento. <P> <HR> <A HREF="Bash-Prompt-HOWTO-2.html">Avanti</A> Indietro <A HREF="Bash-Prompt-HOWTO.html#toc1">Indice</A> </BODY> </HTML>