Di recente mi sono imbattuto in un problemino minchione: avere una sequenza di numeri in ordine inverso (cioè non da 1 a 20 ma da 20 a 1). Fin qui tutto easy.

Di solito se devo avere una sequenza uso appunto seq:

$ seq 1 10

Che stampa appunto i numeri da 1 a 10.
Il problema è che il contrario non mi funzionava.

$ seq 10 1

Nada.

Comunque, mentre cogitavo su questo e quello, e mentre mischiavo seq con sort mi sono imbattuto in una finezza bash che non conoscevo: la brace expansion.

Le brace expansion permettono di creare un output multiplo:

sim@idrogeno:~$ echo {Zio,Gastone}Paperone
ZioPaperone GastonePaperone

In effetti anche:

sim@idrogeno:~$ echo {20..1}
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

e

sim@idrogeno:~$ echo 0{1..20}
01 02 03 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018 019 020

Inoltre si possono creare più concatenazioni:

sim@idrogeno:~$ for stringa in {A..C}{1..3}{x..z}; do echo -n "$stringa "; done
A1x A1y A1z A2x A2y A2z A3x A3y A3z B1x B1y B1z B2x B2y B2z B3x B3y B3z C1x C1y C1z C2x C2y C2z C3x C3y C3z

Perchè possono risultare comode?
Beh, ad esempio, come spiegato nella pagina linkata, per questo:

sim@idrogeno:~$ ls /usr/lib/perl{5,/5.10}/Data/
/usr/lib/perl/5.10/Data/:
Dumper.pm

/usr/lib/perl5/Data/:
Alias.pm

o questo

sim@idrogeno:~$ mkdir -v tmp/{test,a,z}
mkdir: created directory ‘tmp/test’
mkdir: created directory ‘tmp/a’
mkdir: created directory ‘tmp/z’

sim@idrogeno:~$ rmdir -v tmp/{test,a,z}
rmdir: removing directory, ‘tmp/test’
rmdir: removing directory, ‘tmp/a’
rmdir: removing directory, ‘tmp/z’

;-)

More »

Il bello di una box nuova, è che ce la si può personalizzare.
Dopo aver ricompilato il kernel (quello FreeBSD m’è sembrato molto più semplice di quello Linux), rodio è stata sottoposta ad alcune modifiche necessarie.

Installazione dai ports della shell bash, del bash completition e di vim, per cominciare.

Altra cosa utile, è stato attivare il server ssh.

In /etc/rc.conf aggiungere la riga:
sshd_enable="YES"
Poi:
# /etc/rc.d/sshd start

Altri programmi installati: lsof, mutt, nmap, portaudit, ssh2, wget.

E poi il webserver… Per provare questa volta mi sono dedicato a lighttpd – e mi è parso davvero simpatico. :)
(Grazie Jack per la dritta di secoli fa… che ho deciso di sfruttare ora.)

Riferimenti:
* Documentazione su FreeBSD
* FreeBSD Diary
* Info su Openssh.

Se invece che compilare ogni singolo port, si preferisce prendere i pacchetti precompilati, leggere qua.

Colori dei promptGià tempo addietro avevo parlato dei colori di ls, legati indissolubilmente a quelli di bash.

Ho deciso di sistemare un po’ il prompt di root e user sulle diverse macchine (vedi ~/.bashrc, variabile PS1), anche se non sono ancora del tutto convinto. Visto che mi piacciono gli sfondi scuri (con scritte chiare), ho scelto il rosa per il percorso, e il ciano per le utenze; le box hanno colori diversi (per ora): idrogeno è giallo, neon è verde, radon lo farò blu chiaro.
Non sono ancora convinto di voler tutto questo arcobaleno, ma magari mi setterò presto su qualcosa di leggibile.

Per la cronaca: l’utenza su Idrogeno ha la PS che segue:

PS1=’\[\033[0;36m\]\u\[\033[1;00m\]@\[\033[1;33m\]\h\[\033[00m\]:\[\033[1;35m\]\w\[\033[00m\]\$ ‘

mentre Neon ha questa:

PS1=’\[\033[0;36m\]\u\[\033[1;00m\]@\[\033[1;32m\]\h\[\033[1;00m\]:\[\033[1;35m\]\w\[\033[1;00m\]\$ ‘

Aggiungo il link ad un’utile guida di debianizzati.org: Colorare bash.

Ho avuto modo di vedere una semplice fork bomb all’opera.

Mi sembrava una cosa curiosa, e pensavo di scriverci un post… Poi ho aperto wikipedia… E vabbè. Qui c’è già tutto. :)

Fatto sta, che è meglio non scrivere

 :( ){:|:&};:

in console.

    
SIMOTRONE WEB PAGE is based on WordPress platform, RSS tech , RSS comments design by Gx3.