bonjour j'aimerai incorporé un traceroute ds un script mais il me faudrait une sorte de prompt pour lui donner une ip mais je ne connais pas la commande et pas moyen de trouver..

#! /bin/tcsh
# Variables

set trait = "------"
set message1 = "IP"
set message2 = "Traceroute"
set traceroute = "traceroute"

# Script

echo $trait
echo $message1
echo $trait
$traceroute
echo $trait
echo $message2
echo $trait

# End
si qqun sait comment lui donner l'ip je suis preneur
merci
#lire une valeur au clavier.
read ip
#passage de la valeur à traceroute
traceroute $ip

tu peux boucler avec une boucle while (tant que) ou until (jusqu'à ce que) :

while true
do
echo "tracer l'ip suivante : "
read ip
traceroute $ip
done

🙂
Tout d'abord merci pour ta réponse
voila ce que ça donne selon tes indications (si j'ai bien compris, désolé je debute, d'ailleur si t'a de la doc sur les scripts shell)

#! /bin/tcsh

# Variables

set trait = "------"
set message1 = "IP"
set message2 = "Traceroute"
set traceroute = "traceroute"
set IP = "read ip"

# Script

echo $trait
echo $message1
echo $trait
$IP
$traceroute $IP
echo $trait
echo $message2
echo $trait

# End

Donc bon il reconnait pas la variable read
------
read: Commande introuvable.
traceroute: "ip" bad value for packet length
------

merci
Ben tu utilises tcsh et non bash:

#! /bin/tcsh

Pour l'aide sur tcsh (et donc les scripts):
man tcsh

Pour lire une variable depuis le clavier avec tcsh:

set a = $<

a contient ensuite ce que tu as saisi.

A+ et bonne chance
voila j'ai fini mon script, mais les plus aguerrit trouverons certainement des choses a rajouté (c'est mon 1e script soyez indulgent)
Donc si certains veulent bien le tester et me faire des remarques 😃 :

#! /bin/sh

# script by PyReX
clear
echo " "
echo " "
echo "Whois, Ping & Traceroute d'une ip ou d'un host"
echo " "
echo " ------------------------- "
echo " ------------------------- "
echo " "
echo "Veuillez me donner l'IP de la personne s'il vous plait $who :"
read ip
echo "l'ip tracée est $ip"
echo " "
echo " ------------------------- "
echo " ------------------------- "
echo " "
echo "Whois en cours..."
whois $ip
echo " "
echo " ------------------------- "
echo " ------------------------- "
echo " "
echo "Ping en cours"
ping -c 10 $ip
echo " "
echo " ------------------------- "
echo " ------------------------- "
echo " "
echo "traceroute en cours..."
traceroute -m 10 $ip
echo " "
echo " ------------------------- "
echo " ------------------------- "
echo " "
echo "L'ip $ip a été scannée avec succés"
echo "A bientot $who"
echo " ------------------------- "
echo " ------------------------- "
echo " "

#Fin du script
Je remplacerai les:

echo " "
echo " ------------------------- "
echo " ------------------------- "
echo " "

par des:

echo '
-------------------------
-------------------------
'

... mais vraiment ça ne sert à rien.
Moi j'aurai donné l'ip en agument 😉
valhalla a écrit:
Moi j'aurai donné l'ip en agument 😉
moi aussi 🙂
et comment on fait ça?
nan parce que j'ai envie d'apprendre et d'assimiler le max de commandes d'ailleur si vous avez de la doc, ou meme que vous connaissez des langages de programmation similaire n'hesitez pas.
merci a tous
Tu peux utiliser les variables $1, $2, ... $n qui correspondent au n ieme argument. Exemple: ./test 1 2 3

$1 = 1
$2 = 2
$3 = 3

La variables $# contient le nombre de parametres. Dans l'exemple precedent, $#=3

Une bonne aide:

man bash

🙂


A+
Oh! Merci, un tuto court et complet pour awk! J'en rêvais...
pour les arguments j'essaye de comprendre mais a vient pas, je ne sais pas commentles utiliser, si qqun pe mettre un petit bou de code de A a Z pour m'expliquer a serait sympa!!
merci
pour les arguments il y a pas une histoire avec $1,$2,$3 etc...

donc admetons que je fasse un petit traceroute ça donnerai ça non : ?
argument=commande

$1=ip
read $1
traceroute $1

ou dans ce genre?
merci pour ceux qui me repondent c'est super sympa ;
tien d'ailleur je fais profiter d'un super lien que j'ai trouvé mais en anglais..
http://www.tldp.org/LDP/abs/html/
Si ça peut t'aider à comprendre comment fonctionnent les arguments:
tu écris un petit fichier que tu nommes par exemple: aa.sh et dans lequel tu mets juste ça:

echo "arg1 = " $1
echo "arg2 = " $2
echo "arg3 = " $3

ensuite tu appelles ton script dans la ligne de commande avec:
"sh aa.sh un deux trois" Evidement, tu peux écrire n'importe quoi à la place de "un deux trois" du moment qu'il y a trois mots séparés par des blancs.

et tu auras le résultat suivant:
sh aa.sh un deux trois
arg1 = un
arg2 = deux
arg3 = trois


Voilà, après tu peux reprendre ton programme avec par exemple:
$IP = $1

Il y a plein de chose à ajouter ensuite pour faire un script "sérieux", par exemple un controle sur le nombre et le type des arguments, mais ça sera pour plus tard...

Bon courage !
quand tu fais un traceroute 127.0.0.1, 127.0.0.1 est un argument passé à la commande traceroute, tu peux faire la même chose avec des scripts shell.

si je ne m'abuse les commandes shutdown et service par exemple ne sont pas des bianires mais des scripts shell.

shutdown -h now
service httpd status

dans les deux cas tu passes des arguments ... 🙂
Il y a plein de chose à ajouter ensuite pour faire un script "sérieux", par exemple un controle sur le nombre et le type des arguments, mais ça sera pour plus tard...
je ne demande qu'a apprendre, si qqun se devoue pour des petits cours sur msn, je suis preneur 😉
merci a tous
encore moi,
est ce que qqun connait la commande pour ouvrir une nouvelle console avec un nouveau fichier
par ex je voudrais ouvrir une nouvelle console avec "tail -f /var/log/messages"

et aussi que le script verifie si la personne qui le lance est su, et sinon elle lui propose de se logué

merci
xterm -e tail -f /var/log/messages

ouvre une fenêtre et execute un tail ...

xterm -e script

execute un script dans lequel tu peux tester l'utilisateur et lancer le tail.