bash scripting

Smoke deepsmoke@alice.it
Ven 2 Gen 2009 03:00:58 CET


On Thu, 01 Jan 2009 22:31:00 +0100
aleritty <aleritty@gmail.com> wrote:
> 
> No aspetta... il carriage return è il ritorno a capo (detto brutalmente)
> ma io non voglio andare a capo o non andare a capo!
> Io vorrei cambiare la stringa sulla stessa riga, un po' come fa apt-get
> quando scarica gli indici!
> Il man lo avevo letto, ed avevo trovato che con "-n" posso rimanere
> sulla stessa linea, ma non riesco a cancellare...
> 
> Oppure non ho capito cosa intendevi... scusa!
> 
> Alessio

Ciao,

Il carriage return brutalmente è il ritorno del carrello e non il
ritorno a capo :D. Si tratta di un omaggio alle vecchie macchine da
scrivere. L'andata a capo è \n, senza sbufferizzazione, endl
sbufferizza anche.

In C++ accade questo:


#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
        for(int i=0;i<10;i++)
        {
                cout.flush();
                cout<<i<<"\r";
                sleep(1);
        }
}

Crea un file di testo con queste linee di codice come contenuto, per
esempio return.cpp. Ora lancia g++ -o return return.cpp nello stesso
folder e sempre qui digita ./return. Vedrai un volgare contatore con
l'output organizzato come dici tu.

Per questo ti ho segnalato \r attivabile in echo con l'opzione -e.
-- 
Smoke <deepsmoke@alice.it>


Maggiori informazioni sulla lista glug