ubuntuusers.de

Shell Script in ein Batch Script umschreiben

Status: Ungelöst | Ubuntu-Version: Ubuntu
Antworten |

alphazero

Anmeldungsdatum:
20. September 2006

Beiträge: 25

Also wie oben schon gesagt geht es darum ein Shell Script in ein Batch Script umzusetzen.
Dies ist erstmal mein Shell Script:

#!/bin/ksh

#------------------------------------------------------------------------------
# execute CenteraPing
#------------------------------------------------------------------------------

cd /..../....

./CenteraPing -address 10.78.224.21,10.78.224.22,10.78.224.23,10.78.224.24,10.78.224.25,10.78.224.26,10.78.224.27,10.78.224.28 > /tmp/ausgabe.txt 2>&1


if [ $(grep "Message" /tmp/ausgabe.txt|wc -l) -gt 0 ] ; then
  	  /opt/nimbus/bin/nimalarm -l 5 -s Centera "Kann mehrere IP Adressen nicht erreichen!!!"; 
fi

So jetzt besteht mein Problem daraus, dass ich nicht genau weiß, wie ich diesen Teil umsetzen muss:

if [ $(grep "Message" /tmp/ausgabe.txt|wc -l) -gt 0 ] ; then
  	  /opt/nimbus/bin/nimalarm -l 5 -s Centera "Kann mehrere IP Adressen nicht erreichen!!!"; 
fi

Also ich suche nach "Message" in der Datei "ausgabe.txt" und zähle wie oft das Wort "Message" in der Textdatei drinne steht. Umso öfter es drinne steht um so gravierender ist ein Fehler. Oben frage ich erstmal ab, ob es Fehler gibt und ob es mehr als 0 sind. Später kann ich die "0" bis "8" erhöhen, weil ich oben ein Aufruf von 8 IP-Adressen mache. Wenn alle nicht erreischbar sind ist es halt der gravierenste Fehler.

So vielleicht kann mir ja jemand hier in einem Linux Forum helfen.
*gg* bidde

Blattlaus

Avatar von Blattlaus

Anmeldungsdatum:
29. März 2006

Beiträge: 1399

Wenn du "Batch Script" sagst, meinst du ein eine Windows-Btachdatei?

alphazero

(Themenstarter)

Anmeldungsdatum:
20. September 2006

Beiträge: 25

Ja meine ich. Also *.bat

Blattlaus

Avatar von Blattlaus

Anmeldungsdatum:
29. März 2006

Beiträge: 1399

Wirst du nicht hinbekommen es sei denn du bemüst eine Scriptsprache. Hast du irgendeine zur verfügung?

alphazero

(Themenstarter)

Anmeldungsdatum:
20. September 2006

Beiträge: 25

Also ich kann es nur mit Batch machen, was anderes ist nicht zur Verfügung.
Kann man das nicht irgendwie umsetzen ?

Egal wie

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Mit der neuen Shell für Vista könnte es gehen. Gab's die nicht auch für XP schon mal zum installieren?

EDIT: Es gibt eine abgefahrende Methode, aus einem 'batch-skript' heraus Visual-Basic-Skripte zu kompilieren und zu starten. Ob das ganze nur mit XP Pro funktioniert kann ich nicht beurteilen. Hier ein Beispiel, mit dem ich meine Samba-Mounts beim Systemstart einbinde. Das Visual-Basic-Skript dient dabei dazu, eine Passwort abzufragen, ohne es bei der Eingabe anzuzeigen: http://www.ubuntuusers.de/paste/4607/

Sid_Burn

Anmeldungsdatum:
23. Oktober 2004

Beiträge: 2159

Das müsste eigentlich auch ganz normal mit der cmd gehen.

Kontrollstrukturen. Variablen etc. steht dir auch in der cmd zur verfügung. Kann dir aber nicht genau sagen wie es geht. Ich denke da solltest du eher in einem Windows Forum nachfragen.

alphazero

(Themenstarter)

Anmeldungsdatum:
20. September 2006

Beiträge: 25

Könnt ihr mir erklären wieso dies nicht geht ?

Also mein Shell Script ruft ein Linux Programm namens CenteraPing auf
und das Batch Script ruft ein Windows Prog. namens CenteraPing.exe auf

und das was ich ihn Shell geschrieben habe funktioniert nicht irgendwie tricky mäßig in Batch (*.bat)

Blattlaus

Avatar von Blattlaus

Anmeldungsdatum:
29. März 2006

Beiträge: 1399

alphazero hat geschrieben:

Könnt ihr mir erklären wieso dies nicht geht ?

Z.b. hast du unter Windows keine Möglichkeit die Zeilen zu zählen. Schon deswegen würde es scheitern

alphazero hat geschrieben:

und das was ich ihn Shell geschrieben habe funktioniert nicht irgendwie tricky mäßig in Batch (*.bat)

Du könntest natürlich bash über cygwin installieren, dann könntest du es ausführen. Aber dann kannst du genau so gut einen Perl/Python Interpreter installieren.

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Blattlaus hat geschrieben:

Z.b. hast du unter Windows keine Möglichkeit die Zeilen zu zählen.

Blattlaus hat geschrieben:

Aber dann kannst du genau so gut einen Perl/Python Interpreter installieren.

Daher mein Vorschlag via 'Visual-Basic-Skript': Da kann man so Sachen wie Zeilen zählen natürlich realisieren und muss wohl nichts zusätzliches installieren. Laut Windows_Script_Host ist dies seit Win98SE installiert...

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17599

Wohnort: Berlin

hier gibt es die unix-utils für w32, mit grep, wc, cat, sh, ... - fast alles, was das Herz begehrt:
http://unxutils.sourceforge.net/
Der Pfad muß natürlich angepaßt werden, um wc und Konsorten einfach verwenden zu können.

Einen Blick zu wsh würde ich als Alternative erwägen; auch cmd.exe kann eine Menge, nur nutzt das unter Dos/Windows kaum jmd., und deswegen kennt sich kaum auch jmd. aus. ☺

Antworten |