mercoledì 27 gennaio 2010

Creare file utilizzando solo copia/incolla con la bash

Benissimo, siamo ad una nuova puntata dopo molti giorni di assenza; questo articolo è solamente per richiamare alcune funzionalità della bash che la rendono molto comoda per la creazione di file o script utilizzando il semplice copia/incolla; di questa funzionalità ne ho già fatto uso in altri miei articoli, ma non era mai stata spiegata ed ora è giunto il momento.
Ora passiamo alla parte pratica, se avete letto i miei precedenti articoli avrete notato che in alcuni casi utilizzo una sintassi del tipo:
cat > file.out <<> file.out <<> file.out << 'EOF' Adesso la variabile $PWD non viene interpretata EOF A questo punto abbiamo trovato la strada per creare degli script con inclusi i nomi di variabile senza doverli escapare singolarmente in maniera molto semplice e veloce, ma ci manca ancora un'ultima considerazione... se stiamo creando uno script abbiamo bisogno anche di poter indentare il codice, ovvero poter aggiungere dei tab (non sto parlando di caratteri di spazio) ad inizio linea per migliorarne la comprensione, ma utilizziando la precedente sintassi possiamo accorgerci velocemente che le cose vanno diversamente da come sperato. Volendo inserire i tab all'inizio di ogni linea possiamo osservare che questi non vengono riprodotti durante la fase di output, e questo costituisce un grosso problema per la leggibilità del codice che stiamo creando... ma anche a questo c'è rimedio per fortuna, e quindi per poter produrre un output pari all'input dobbiamo far seguire i simboli di redirezione << dal carattere '-', quindi la nuova sintassi, per un testo indentato, sarà la seguente: cat > file.out <<- 'EOF'
Adesso la
variabile $PWD
non viene
interpretata
EOF
Con questo direi che per oggi è tutto; ora siete in grado di creare automaticamente dei file senza bisogno di utilizzare nessun editor di testo, ma semplicemente facendo dei semplici copia/incolla del testo all'interno di una shell.