Voici juste un avant gout :

exec 5<> /dev/tcp/www.google.com/80
printf "GET / HTTP/1.0\n\n" >&5
cat <&5
exec 5>&-

et

diff <(find dir1) <(find dir2)

le blog :
http://unixjunkie.blogspot.com/
la page en question :
http://unixjunkie.blogspot.com/2006/01/two-cool-bash-tricks.html
Je conseil surtout la lecture des commentaires !!

5 réponses vers “LIEN::Deux astuces Bash tirées d’un super blog !!”

  1. sylvainulg a dit

    ouaip. bon, utilisant d’habitude tcsh (oui, je sais, je suis un mécréant), j’ai été déçu de voir que “/dev/tcp/xxx.xxx.com/12345″ n’existait pas vraiment :P

    et puis j’ai ouvert un bash, et j’ai obtenu ceci:

    :~$ exec 5<> /dev/tcp/www.google.com/80
    bash: /dev/tcp/www.google.com/80: No such file or directory
    :~$ printf “GET / HTTP/1.0\n\n” >&5
    bash: 5: Bad file descriptor
    :~$ cat &-

    au fait, tu peux nous expliquer le “5″ ?

  2. sylvainulg a dit

    oh, GNU bash, version 3.2.13(1)-release (i486-pc-linux-gnu)
    Copyright (C) 2005 Free Software Foundation, Inc.

    au cas où :P

  3. bodman a dit

    Sylvain, Je viens de corriger la version du script présente sur mon blog , certains caractères manquaient à l’appel.

    Pour ma part version du bash :
    GNU bash, version 3.2.9(1)-release (i686-redhat-linux-gnu)
    Copyright (C) 2005 Free Software Foundation, Inc.

    Chez moi il fonctionne de la manière suivante :

    [bodman@bodman ~]$ exec 3 /dev/tcp/www.google.com/80
    [bodman@bodman ~]$ printf “GET / HTTP/1.0\n\n” >&3
    [bodman@bodman ~]$ cat <&3
    HTTP/1.0 302 Found
    ….

    Comme on peut le voir le 5 s’est changé en 3, c’était pour illustrer une réponse à ta question. En bash on peut distinguer plusieurs flux d’entrée et de sortie. Les flux 0 à 2 sont déjà employés respectivement à l’entrée standard, la sortie standard et la sortie d’exception. Alors à partir de 3 c’est libre usage aux utilisateurs (enfin … c’est rare). Il est donc possible de faire communiquer des commandes au travers de ces sorties.
    C’est la rareté de l’utilisation de ces flux qui m’a donc poussé à publier un tel code :)

  4. sylvainulg a dit

    ouaip. chou blanc sur mon ubuntu. J’imagine qu’il doit s’agir d’une substitution propre à certaines distributions linux et pas de quelque-chose de suffisamment standard (ou alors je m’y prends comme un manche :P ).

    Enfin, bonne pioche quand même ^_^

  5. sylvainulg a dit

    hmm.. i guess the default configuration option –disable-net-redirections in debian distro explains why i cannot use the feature :P

    On dirait bien qu’ils ont désactivé les redirections réseaux sur les debian (pour des raisons de sécurité que je peux bien comprendre :)

Laisser un commentaire