LIEN::Deux astuces Bash tirées d’un super blog !!

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éflexions sur “LIEN::Deux astuces Bash tirées d’un super blog !!

  1. 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😛

    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. 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🙂

  3. 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 ^_^

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

    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

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s