![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| rsh-Skript mit in einer for-Schleife | trekianov | Shell Programmierung und Scripting | 5 | 12-06-2008 12:39 PM |
| while-Schleife Probleme | amatuer_lee_3 | Shell Programmierung und Scripting | 7 | 05-13-2008 12:48 AM |
| Script nicht Vollstreckungsstaat zweiten Schleife | Klopfer | Shell Programmierung und Scripting | 2 | 05-07-2008 04:10 PM |
| While-Schleife Probleme | rcunn87 | Shell Programmierung und Scripting | 0 | 06-20-2006 04:26 PM |
| nicht ganz sicher, wie man die Schleife dieses Skript! | moxxx68 | Shell Programmierung und Scripting | 3 | 09-09-2004 07:00 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Probleme mit einem, wenn / dann Schleife in einem Skript
Hi there,
Ich habe ein Skript, um die Log-Dateien aus der var / tmp dir. Es funktioniert bis zu einem gewissen Punkt. Was ich brauchte war zu tun, um das Skript, wenn es keine Dateien gelöscht werden soll. Ich kann diese Arbeit an einem Test-Skript, aber wenn ich Umsetzung in mein Programm es Fehler mit einem "dann" nicht mit Fehler. Ich habe sie verfolgt, um die Zeile in das Skript: if [ "TEMP" \u003d "0"]; dann Könnte jemand einen Blick auf sie und teel mir, wo ich schief gelaufen ist oder Nummer mich in die richtige Richtung Rgds Colin Hier ist der Auszug aus dem Skript, das ich erstellt: #! / bin / sh # # Setzen der lokalen Variablen USER \u003d "/ usr / bin / whoami` KONTO \u003d Angaben HOSTNAME \u003d "/ usr / bin / hostname` DATE \u003d `/ usr / bin / date" +% Y% m% d "` TEMP \u003d `find / var / tmp /-name" * Perle "-atime +3 | wc-l` TEMPALL \u003d `find / var / tmp /-atime +3 | wc-l` # Entfernen alten Log-Dateien find / users / agaff / nospace / logs /-name "*. txt"-atime +1 | xargs rm-f # Hauptfenster klar echo "<1> Löschen GEM-Log-Dateien auf dem Rechner:" $ HOSTNAME echo "<2> Löschen Sie alle Dateien im Verzeichnis / var / tmp (Wartung nur)" echo "<3> Exit - keine Dateien gelöscht werden sollen" echo "" echo "Geben Sie 1 oder 2 oder 3" ANTWORT lesen if [$ answer \u003d "1"]; dann klar echo "Prüfung der Log-Dateien für die Gastgeber:" $ HOSTNAME echo "" if [$ temp \u003d "0"]; then # (das ist dort, wo es Bomben out) echo echo echo "************************************************ *** " echo "Es gibt keine Log-Dateien auf dem Server gelöscht werden:" $ HOSTNAME echo elif [$ temp> "0"]; dann echo "***********************************************" echo "Es gibt" $ TEMP "Log-Dateien, die gelöscht werden können, vom Host:" $ HOSTNAME echo "" echo "" echo "<1> Löschen GEM-Log-Dateien auf dem Host" $ hostname "in der Datei / var / tmp-Verzeichnis" echo "<2> Exit - keine Dateien gelöscht werden sollen" echo "" echo "Geben Sie 1 oder 2" echo "" Lesen Sie ANS1 if [$ ANS1 \u003d "1"]; dann klar echo "" echo "" echo "GEM Logfiles löschen Log-Dateien" mkdir-p / users / agaff / nospace / logs / find / var / tmp /-name "* Perle"-atime 3> / users / agaff / nospace / logs / $ DATE "-" $ HOSTNAME "-Protokolle". txt | xargs-f> / dev / null 2> & 1 echo "" echo "************************************************ ************************" echo "Tmp-Protokolle sind nun gelöscht und aktualisiert logfile" echo "" echo "" elif [$ ANS1 \u003d "2"]; dann echo "Beenden" sonst echo "Ungültige Auswahl, exiting ..." Ausfahrt fi |
|
||||
|
Nur, um meine 0.02c wert:
Nutzen Sie Einrückungen im Drehbuch! Es macht Wartungsarbeiten an Ihr Skript nur SOOO viel einfacher. Bemüht sich um eine geschachtelte elif Kommando in alles, was Sie unter "echo" 's war etwas: #! / bin / sh # # Setzen der lokalen Variablen USER \u003d "/ usr / bin / whoami` KONTO \u003d Compaq HOSTNAME \u003d "/ usr / bin / hostname` DATE \u003d `/ usr / bin / date" +% Y% m% d "` TEMP \u003d `find. -name "Juwel *" | wc-l ` TEMPALL \u003d `find. | Wc-l ` # Entfernen alten Log-Dateien # find / users / agaff / nospace / logs /-name "*. txt"-atime +1 | xargs rm-f # Hauptfenster klar echo "<1> Löschen GEM-Log-Dateien auf dem Rechner:" $ HOSTNAME echo "<2> Löschen Sie alle Dateien im Verzeichnis / var / tmp (Wartung nur)" echo "<3> Exit - keine Dateien gelöscht werden sollen" echo "" echo "Geben Sie 1 oder 2 oder 3" ANTWORT lesen if [$ ANSWER-eq "1"]; dann klar echo "Prüfung der Log-Dateien für die Gastgeber:" $ HOSTNAME echo "" if [$ TEMP-eq "0"]; then # (das ist dort, wo es Bomben out) echo echo echo "*******************************************" echo "Es gibt keine Log-Dateien auf dem Server gelöscht werden:" $ HOSTNAME echo elif [$ TEMP-gt "0"]; dann echo "****************************************" echo "Es gibt" $ TEMP "Log-Dateien, die gelöscht werden können, vom Host:" $ HOSTNAME echo "" echo "" echo "<1> Löschen GEM-Log-Dateien auf dem Host" $ hostname "in der Datei / var / tmp-Verzeichnis" echo "<2> Exit - keine Dateien gelöscht werden sollen" echo "" echo "Geben Sie 1 oder 2" echo "" Lesen Sie ANS1 if [$ ANS1-eq "1"]; dann klar echo "" echo "" echo "GEM Logfiles löschen Log-Dateien" # mkdir-p / users / agaff / nospace / logs / # find / var / tmp /-name "* Perle"-atime 3> / users / agaff / nospace / logs / $ DATE "-" $ HOST NAME "-Protokolle". Txt | xargs-f> / dev / null 2> & 1 echo "" echo "*******************************************" echo "Tmp-Protokolle sind nun gelöscht und aktualisiert logfile" echo "" echo "" elif [$ ANS1-eq "2"]; dann echo "Beenden" sonst echo "Ungültige Auswahl, exiting ..." Ausfahrt fi fi fi Hier unsere endeth Lesbarkeit Lektion für heute ... |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|