WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Linux, UNIX, Open Source

Linux, UNIX, Open Source Rat & Tat bei Problemen und Fragen rund um GNU/Linux, BSD und sonstige UNIXe

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 18.09.2002, 17:32   #1
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard Shell script

Ich bin grad dabei mir ein kleines Shellscript zu schreiben.
Und zwar möchte ich trotz meiner Firewall Regeln ein traceroute machen ...
Wenn ich jetzt ein traceroute machen will muß ich immer zuerst zwei Firewall Regeln hinzufügen und erst dann kann ich ein traceroute machen.
Ich möchte es jedoch ein Script schreiben das die Firewall Regeln automatisch hinzufügt und dann ein traceroute macht. Das Hinzufügen der Regeln ist kein Problem, jedoch das traceroute.
Ich will das script z.B. als tracert aufrufen, jedoch wie schaff ich es wenn ich z.B. "tracert www.wcm.at" eingebe daß der Host an das script übergeben wird?
Das script sollte folgendermaßen aussehen:
iptables ..... #iptables Regeln
traceroute


Bei DOS hätte ich nach traceroute "%1 %2" geschrieben damit die Konsole die entsprechende Option an das script weitergibt, aber wie geht das bei Linux?
K@sperl ist offline   Mit Zitat antworten
Alt 18.09.2002, 18:19   #2
0x0001
Jr. Member
 
Registriert seit: 11.09.2002
Beiträge: 29


Standard

man bash
oder
man tcsh


Und bevor man mich hier abmurkst noch kurz die loesung

$1 $2 und so weiter.
Wenn du alle parameter uebergeben willst verwende entweder $* oder $@. In der variablen $# steht die anzahl der parameter (falls du das abfragen willst).

btw wenn du oefter mal shellscripts schreiben solltest empfehle ich das studium des Advanced Bash-Scripting Guide [1]. Zum schnellen Studium dessen was du brauchst, bzw brauchen koenntest schau doch auch mal in den guide[2].

[1]http://www.tldp.org/guides.html#abs
[2]http://www.tldp.org/LDP/abs/html/int...ml#POSPARAMREF
____________________________________
remember man and info are you\'re friends
0x0001 ist offline   Mit Zitat antworten
Alt 21.09.2002, 17:56   #3
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard

Irgendwas passt da mit meinem Script noch nicht, denn wenn ich tracert host eingebe mach er zwar brav ein traceroute, aber die zwei iptables Regeln nach dem traceroute arbeitet er nicht ab, aber ich weiß nicht warum ...

Hier mal das script:
Code:
#!/bin/sh
iptables -I INPUT 28 -i ppp0 -p icmp -j ICMPINBOUND
iptables -I OUTPUT -o ppp0 -j ACCEPT
traceroute $*
iptables -D INPUT -i ppp0 -p icmp -j ICMPINBOUND
iptables -D OUTPUT -o ppp0 -j ACCEPT
K@sperl ist offline   Mit Zitat antworten
Alt 22.09.2002, 18:22   #4
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard

So, ich weiß jetzt warum er die letzen Befehle nicht abarbeitet:
Wenn bei einem traceroute nur mehr timeouts sind drücke ich [Strg]+[C] um abzubrechen und dadurch wird auch das script beendet.
Wie realisiere ich das nun, wenn das script abgebrochen wird trotzdem noch die letzten Befehle ausgeführt werden?
Mit "exit" oder "trap" hab ich das nicht hinbekommen ...
K@sperl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:20 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag