# [DNS] Comment vérifier un nom DNS en Bash ? (résolu)

## loopx

Bonjour, 

Tout est dans le titre, je fais un script, et j'aurais besoin de vérifier qu'un nom DNS est bien enregistré (ou non) avant de continuer. C'est histoire d'avoir un script un peu plus propre, et pas un bête script qui s'écrase la .. dès qu'un problème DNS (nom inconnu) est rencontrÉ (put1 de synergy ...).

Une idée ? J'ai pensé à la commande "nslookup", "dig" ou encore, "host" mais niveau code d'erreur, ca me semble moyen :/

QUELQU4UN A TIL DEJA TESTE ???  dÉsolÉ pour le texte, synergy dÉconne, une fois de plus ...

----------

## Bapt

example

```
 

list=" \

gentoo.org \

truc \

bla \

linuxfr.org \

freebsd.org"

for hostname in $list; do

  host $hostname >/dev/null || continue

  echo $hostname

done

```

C'est beau c'est propre et c'est pas de l'immondice bashienne c'est sh posix comme il faut

----------

## loopx

 *Bapt wrote:*   

> example
> 
> ```
>  
> 
> ...

 

Merci  :Smile: 

en fait, j'avais un autre souci sur un serveur et mon test avec host n'était pas concluant .. alors que ca utilise bien les code de retour basique   :Embarassed: 

----------

## truc

 *Bapt wrote:*   

> C'est beau c'est propre et c'est pas de l'immondice bashienne c'est sh posix comme il faut

 

Autant je peux aisément comprendre l'utilité d'écrire des scripts sh posix, autant j'ai vraiment du mal à comprendre pourquoi tu critiques tant les 'bashismes' alors que tu proposes volontiers des zsh'ismes dès que tu le peux.

Le tout est d'être consistant dans ses propos!

----------

## Bapt

 *truc wrote:*   

> Autant je peux aisément comprendre l'utilité d'écrire des scripts sh posix, autant j'ai vraiment du mal à comprendre pourquoi tu critiques tant les 'bashismes' alors que tu proposes volontiers des zsh'ismes dès que tu le peux.
> 
> Le tout est d'être consistant dans ses propos!

 

Tout simplement parce que quand c'est possible et simple fais toujours du posix je ne sors de zsh'ismes que quand ça devient vraiment tordus à faire en posix où que j'ai envie de m'amuser  :Smile: . 

Mais j'aurai du préciser c'est vrai : je me bat contre les bashismes quand ils ne sont pas nécessaires, parce que les gens font ensuite des bashismes de partout, et par extension, beaucoup de scripts /bin/sh devienne bourrés de bashismes, et ça fout souvent la merde (portabilité tout ça), tous les OS n'ont pas bash comme /bin/sh.

Exemple à cause des bashismes le nombre de scripts configure pourri est impressionnant alors que ça doit être du /bin/sh POSIX normalement, le système de build de chromium (je crois que ça a changé avec les patchs pour les ports sur les BSD) est aussi une horreur du même genre alors qu'il aurait été aussi simple de le faire en sh POSIX etc.

En revanche je ne dis rien en ce qui concerne abcde ni nanoblogger par exemple, par contre je bave beaucoup mais alors beaucoup sur asciidoc  :Smile: .

Et puis bon comparer mes zshismes avec des bashismes c'est aller un peu vite en besogne. Ce que je fais avec zsh est strictement impossible avec du bash ou du sh POSIX, par exemple faire un bot irc en zsh en 100 lignes et en pure shell, pas un seul appel système, etc.

qui plus est un utilisateur qui s'essaye au shell devrait d'abord faire du POSIX strict et conserver http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html sous le coude avant d'aller chercher les extensions spécifiques à d'autres shell, et ensuite si il a bien tout compris il peut faire du bash ou du zsh (le second donnant le poil brillant) en connaissance de cause et en restant capable de pondre du POSIX.

voilà pour l'explication  :Smile: 

PS: non je n'abandonnerai pas ma croisade contre les bashismes  :Smile: 

----------

## loopx

Mouais .. en même temps, pour moi, c'est Linux only (home et boulot), je n'ai aucune machine Unix sous la main et puis quoi ... pour moi, Unix, sera bientôt mort  :Wink:   la preuve en est que de plus en plus de mainframe tourne sur linux, pareil pour les supercalculateurs et que solaris va peut être s'arrêter ...

Bref, linux à de beau jours devant lui, et Bash aussi ^^

----------

## kwenspc

 *loopx wrote:*   

> 
> 
> Bref, linux à de beau jours devant lui, et Bash aussi ^^

 

le fait de rester posix c'est surtout pour pouvoir tourner sous n'importe quel shell qui prend en compte la norme posix (ksh, zsh, etc...) donc même sans les vieux unix, t'auras sans doute un jour accès à un shell autre que bash hein.

Sinon pour peu que tu ais une liste vraiment longue de hostname à tester, ce genre de script est pas la bonne soluce amha. mieux vaut un ptit code (genre sous python ou autre) qui permette de tester de manière asynchrone les hostname (avec callbacks de notification au cas où ça existe pas etc...). Là ça serait vraiment performant.

----------

## Solevis

 *loopx wrote:*   

> Mouais .. en même temps, pour moi, c'est Linux only (home et boulot), je n'ai aucune machine Unix sous la main et puis quoi ... pour moi, Unix, sera bientôt mort   la preuve en est que de plus en plus de mainframe tourne sur linux, pareil pour les supercalculateurs et que solaris va peut être s'arrêter ...
> 
> Bref, linux à de beau jours devant lui, et Bash aussi ^^

 

On trouve pas mal de BSD encore.

----------

