Il gioco delle azioni positive                   Un contadino genovese vede da lontano un tizio che si sta avvicinando al
suo pozzo d'acqua, e gli urla: "Nu beveila, c'a l'e' velenusa!". Ma il
tizio non capisce e si appresta a bere. Il contadino si avvicina e urla
ancora: "Nu beveila, c'a l'e' velenusa!". Ma il tizio fa finta di
niente. Il contadino finalmente arriva a qualche metro da lui e, prima
che si porti l'acqua alla bocca, gli dice: "Nu beveila, ve diggu, c'a
l'e' velenusa!". Il tizio si gira e fa: "Ma che minchia dici, ah?". E
il contadino: "La beva lentamente, che e' fredda...".
-- Da it.hobby.umorismo
 

La device tcp di Bash


Due comandi molto utilizzati per scaricare dei file da Internet sono curl e wget.

Ad esempio, se vogliamo scaricare la home page di Google con curl, digiteremo


curl www.google.com


ed otterremo la pagina sullo standard output.

Stessa cosa si può fare con wget utilizzando il comando


wget -O - www.google.com


Anche il questo caso la pagina sarà mostrata sullo standard output (con wget togliendo -O -, l’output sarà salvato su index.html).

Non molti sanno che la stessa cosa si può fare utilizzando le estensioni tcp della bash. Il primo passo per ottenere tale scopo è digitare il seguente comando:


exec 5<>/dev/tcp/www.google.com/80


Con esso si istruisce la bash ad aprire sia in input che in output il descrittore di file numero 5 sull’indirizzo tcp www.google.com alla porta 80.

Il passo successivo è chiedere la pagina da scaricare, in questo caso la home page (/).


echo -e "GET / HTTP/1.0\n" >&5


Si noti che questa richiesta va fatta inviando l’apposito comando GET al descrittore prima aperto.

Sempre utilizzando il descrittore si riceve la pagina in risposta dal server con


cat <&5


Sullo standard output sarà visualizzata a questo punto la pagina richiesta. Non ci resta adesso che chiudere il descrittore con


exec 5<&-


Probabilmente si tratta più di un esercizio teorico che di una reale necessità ma è interessante sapere che la bash è un ambiente davvero completo ed autosufficiente.




© Mialan 2001 - 2025