![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| rsh manus med i ett för loop | trekianov | Shell-programmering och Skript | 5 | 12-06-2008 12:39 |
| medan loop problem | amatuer_lee_3 | Shell-programmering och Skript | 7 | 05-13-2008 01:48 |
| Script inte verkställande andra loop | thumper | Shell-programmering och Skript | 2 | 05-07-2008 05:10 |
| Även loop problem | rcunn87 | Shell-programmering och Skript | 0 | 06-20-2006 05:26 |
| inte riktigt säker på hur man loop detta script! | moxxx68 | Shell-programmering och Skript | 3 | 09-09-2004 08:00 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Problem med en om / då slinga inom ett script
Hallå där,
Jag har skrivit ett skript för att rensa ut loggfiler från var / tmp dir. Det fungerar upp till en punkt. Vad jag behövde göra var att stänga scriptet om det fanns några filer som ska raderas. Jag kan få detta arbetar på ett testunderlag men när jag genomföra den i mitt program det fel med en "då" inte motsvaras fel. Jag har spåra den till raden i skriptet: om [TEMP \u003d "0"]; sedan Kan någon ta en titt på den och oss på mig där jag gick fel eller peka mig i rätt riktning Rgds Colin Här är utdrag ur manus som jag skapade: #! / bin / sh # # Set lokala variabler USER \u003d "/ usr / bin / whoami" KONTO \u003d specs Värdnamn \u003d "/ usr / bin / hostname" DATE \u003d "/ usr / bin / date" +% Y% m% d `" TEMP \u003d "hitta / var / tmp /-name" pärla * "-atime 3 | wc-l` TEMPALL \u003d "hitta / var / tmp /-atime 3 | wc-l` # Rensa gamla Loggfiler hitta / users / aGaff / nospace / loggar /-name "*. txt" atime 1 | xargs rm-f # Huvudskärm klar echo "<1> Radera GEM loggfiler på mottagande:" $ Värdnamn echo "<2> Radera alla filer i / var / tmp (underhåll endast) echo "<3> Avsluta - inga filer som ska tas bort" echo "" echo "Ange 1 eller 2 eller 3" Läs svaret om [$ answer \u003d "1"]; sedan klar echo "Undersöka Loggfiler för mottagande:" $ Värdnamn echo "" om [$ TEMP \u003d "0"]; sedan # (det är här det bomber ut) echo echo echo "************************************************ *** " echo "Det finns inga loggfiler som ska tas bort från värd:" $ Värdnamn echo Elif [$ TEMP> "0"]; sedan echo "***********************************************" echo "Det finns" $ TEMP "loggfiler som kan utgå från host:" $ Värdnamn echo "" echo "" echo "<1> Radera GEM loggfiler på Host" $ Värdnamn "i / var / tmp katalogen" echo "<2> Avsluta - inga filer som ska tas bort" echo "" echo "Ange 1 eller 2" echo "" Läs ANS1 om [$ ANS1 \u003d "1"]; sedan klar echo "" echo "" echo "Radera GEM loggfiler Loggfiler" mkdir-p / users / aGaff / nospace / logs / hitta / var / tmp /-name "pärla *"-atime 3> / users / aGaff / nospace / loggar / $ DATE "-" $ Värdnamn "-loggar". txt | xargs-f> / dev / null 2> & 1 echo "" echo "************************************************ ************************" echo "Tmp loggar nu utgå och loggfil uppdaterat" echo "" echo "" Elif [$ ANS1 \u003d "2"]; sedan echo "Exiting" annan echo "Ogiltigt val, spännande ..." exit fi |
|
||||
|
Bara för att lägga till min 0.02c värt:
Utnyttja dra i manusskrivning! Det gör underhåll på skriptet bara sooo mycket lättare. Försöker hitta en nested Elif kommando i bland alla du "echo" är var ganska något: #! / bin / sh # # Set lokala variabler USER \u003d "/ usr / bin / whoami" KONTO \u003d Compaq Värdnamn \u003d "/ usr / bin / hostname" DATE \u003d "/ usr / bin / date" +% Y% m% d `" TEMP \u003d "hitta. -name "pärla *" | wc-l ` TEMPALL \u003d "hitta. | Wc-l ` # Rensa gamla Loggfiler # finna / users / aGaff / nospace / loggar /-name "*. txt" atime 1 | xargs rm-f # Huvudskärm klar echo "<1> Radera GEM loggfiler på mottagande:" $ Värdnamn echo "<2> Radera alla filer i / var / tmp (underhåll endast) echo "<3> Avsluta - inga filer som ska tas bort" echo "" echo "Ange 1 eller 2 eller 3" Läs svaret om [$ SVAR-eq "1"]; sedan klar echo "Undersöka Loggfiler för mottagande:" $ Värdnamn echo "" om [$ TEMP-eq "0"]; sedan # (det är här det bomber ut) echo echo echo "*******************************************" echo "Det finns inga loggfiler som ska tas bort från värd:" $ Värdnamn echo Elif [$ TEMP-gt "0"]; sedan echo "****************************************" echo "Det finns" $ TEMP "loggfiler som kan utgå från värdlandet" $ Värdnamn echo "" echo "" echo "<1> Radera GEM loggfiler på Host" $ Värdnamn "i / var / tmp katalogen" echo "<2> Avsluta - inga filer som ska tas bort" echo "" echo "Ange 1 eller 2" echo "" Läs ANS1 om [$ ANS1-eq "1"]; sedan klar echo "" echo "" echo "Radera GEM loggfiler Loggfiler" # mkdir-p / users / aGaff / nospace / logs / # finna / var / tmp /-name "pärla *"-atime 3> / users / aGaff / nospace / loggar / $ DATE "-" $ HOST NAMN "-loggar". Txt | xargs-f> / dev / null 2> & 1 echo "" echo "*******************************************" echo "Tmp loggar nu utgå och loggfil uppdaterat" echo "" echo "" Elif [$ ANS1-eq "2"]; sedan echo "Exiting" annan echo "Ogiltigt val, spännande ..." exit fi fi fi Här endeth våra avläsningsnoggrannheten läxa för idag ... |