Script shell test plage de port séquentielle
ai
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
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 steam deck oled - Guide
- Classic shell - Télécharger - Personnalisation
- Test disque dur - Télécharger - Informations & Diagnostic
- 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.