Script shell test plage de port séquentielle
ai
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis débutant en Shell et j'ai un script avec deux variable comme suit
cat fic.txt
Machine1 5000 5199
Machine2 3100 3190
Machine3 5000 5999
etc..
var1=cat fic.txt |awk print '{ print $1 }'
var2=cat fic.txt |awk print '{ print $2 , $3 }'
echo $var1
Machine1
Machine2
Machine3
echo $var2
5000 5199
3100 3190
5000 5999
je souhaite automatiser un test de connexion avec check_tcp (module Nagios) dont la syntaxe est ./check_tcp -H {HOSTNAME} p {PORT}entre machine1 et toutes les plages de ports de 5000 à 5199, machine2 de 3100 à 3190 etc...
je sais qu'il existe la commande seq mais je ne saurait l'utiliser dans une bouche for quelqu'un as-til une idée svp ?
je suis débutant en Shell et j'ai un script avec deux variable comme suit
cat fic.txt
Machine1 5000 5199
Machine2 3100 3190
Machine3 5000 5999
etc..
var1=cat fic.txt |awk print '{ print $1 }'
var2=cat fic.txt |awk print '{ print $2 , $3 }'
echo $var1
Machine1
Machine2
Machine3
echo $var2
5000 5199
3100 3190
5000 5999
je souhaite automatiser un test de connexion avec check_tcp (module Nagios) dont la syntaxe est ./check_tcp -H {HOSTNAME} p {PORT}entre machine1 et toutes les plages de ports de 5000 à 5199, machine2 de 3100 à 3190 etc...
je sais qu'il existe la commande seq mais je ne saurait l'utiliser dans une bouche for quelqu'un as-til une idée svp ?
A voir également:
- Script shell test plage de port séquentielle
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Classic shell - Télécharger - Personnalisation
- Test steam deck oled - Guide
- Test composant pc - Guide
2 réponses
Salut,
;-))
Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
$ ls fich.txt foo.sh* $ cat fich.txt Machine1 5000 5005 Machine2 3100 3103 Machine3 5000 5002 $ cat foo.sh #! /bin/bash while read hostnam p1 p2 do echo for port in $(seq ${p1} ${p2}) do echo "./check_tcp -H ${hostnam} -p ${port}" done done < fich.txt $ ./foo.sh ./check_tcp -H Machine1 -p 5000 ./check_tcp -H Machine1 -p 5001 ./check_tcp -H Machine1 -p 5002 ./check_tcp -H Machine1 -p 5003 ./check_tcp -H Machine1 -p 5004 ./check_tcp -H Machine1 -p 5005 ./check_tcp -H Machine2 -p 3100 ./check_tcp -H Machine2 -p 3101 ./check_tcp -H Machine2 -p 3102 ./check_tcp -H Machine2 -p 3103 ./check_tcp -H Machine3 -p 5000 ./check_tcp -H Machine3 -p 5001 ./check_tcp -H Machine3 -p 5002 $
;-))
Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.