![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| rsh script med i en for loop | trekianov | Shell programmering og Skripting | 5 | 12-06-2008 12:39 |
| mens loop problemer | amatuer_lee_3 | Shell programmering og Skripting | 7 | 05-13-2008 01:48 |
| Script ikke gjennomføre andre loop | thumper | Shell programmering og Skripting | 2 | 05-07-2008 05:10 |
| Mens loop problemer | rcunn87 | Shell programmering og Skripting | 0 | 06-20-2006 05:26 |
| ikke helt sikker på hvordan du sløyfe dette skriptet! | moxxx68 | Shell programmering og Skripting | 3 | 09-09-2004 08:00 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Problemer med et hvis / deretter loop i et script
Hei,
Jeg har skrevet et script for å tømme ut loggfiler fra var / tmp dir. Det fungerer på opp til et punkt. Det jeg trengte å gjøre var å gå ut av skript hvis det ikke var noen filer som skal slettes. Jeg kan få dette med et testskriptet men når jeg implementere den i mitt program det feil ut med en `så` ikke Matchet feil. Jeg har spores til linjen i skriptet: hvis [TEMP \u003d "0"]; deretter Kan noen ta en titt på den og teel meg hvor jeg har gått galt eller pek meg i riktig retning Rgds Colin Her er utdrag fra manuset som jeg opprettet: #! / bin / sh # # Set lokale variabler USER \u003d `/ usr / bin / whoami` ACCOUNT \u003d spesifikasjoner HostName \u003d `/ usr / bin / hostname` DATE \u003d `/ usr / bin / dato" +% Y% m% d "` TEMP \u003d `finner / var / tmp /-name" perle * "-atime 3 | wc-l` TEMPALL \u003d `finner / var / tmp /-atime 3 | wc-l` # Rydd gamle Loggfiler finne / users / agaff / nospace / logs /-name "*. txt"-atime 1 | xargs rm-f # Hovedskjermbildet klar echo "<1> Slett GEM loggfiler på host:" $ HostName echo "<2> Slett alle filer i / var / tmp (vedlikehold bare)" echo "<3> Avslutt - ingen filer som skal slettes" echo "" echo "Tast 1 eller 2 eller 3" les SVAR hvis [$ answer \u003d "1"]; deretter klar echo "Undersøke Loggfiler for host:" $ HostName echo "" hvis [$ TEMP \u003d "0"]; deretter # (det er her det bomber ut) ekko ekko echo "************************************************ *** " echo "Det er ingen loggfilene skal slettes fra host:" $ HostName ekko elif [$ TEMP> "0"]; så echo "***********************************************" echo "Det er" $ TEMP "loggfiler som kan slettes fra host:" $ HostName echo "" echo "" echo "<1> Slett GEM loggfiler på Host" $ HostName "i / var / tmp katalogen" echo "<2> Avslutt - ingen filer som skal slettes" echo "" echo "Tast 1 eller 2" echo "" les ANS1 hvis [$ ANS1 \u003d "1"]; deretter klar echo "" echo "" echo "Slette GEM LogFiles Loggfiler" mkdir-p / brukere / agaff / nospace / logs / finne / var / tmp /-name "perle *"-atime 3> / brukere / agaff / nospace / logs / $ DATE "-" $ HostName "-logger. txt | xargs-f> / dev / null 2> & 1 echo "" echo "************************************************ ************************" echo "tmp Logger er nå slettet og logfile oppdatert" echo "" echo "" elif [$ ANS1 \u003d "2"]; deretter echo "Exiting" ellers echo "Ugyldig valg, spennende ..." exit fi |
|
||||
|
Bare å legge meg 0.02c verdt:
Utnytt innrykk i Skriptskriving! Det gjør vedlikehold på skriptet bare SOOO mye lettere. Prøver å finne en nestet elif kommando i blant alle dere "echo" er var ganske annet: #! / bin / sh # # Set lokale variabler USER \u003d `/ usr / bin / whoami` ACCOUNT \u003d Compaq HostName \u003d `/ usr / bin / hostname` DATE \u003d `/ usr / bin / dato" +% Y% m% d "` TEMP \u003d `find. -name "perle *" | wc-l ` TEMPALL \u003d `find. | Wc-l ` # Rydd gamle Loggfiler # finne / users / agaff / nospace / logs /-name "*. txt"-atime 1 | xargs rm-f # Hovedskjermbildet klar echo "<1> Slett GEM loggfiler på host:" $ HostName echo "<2> Slett alle filer i / var / tmp (vedlikehold bare)" echo "<3> Avslutt - ingen filer som skal slettes" echo "" echo "Tast 1 eller 2 eller 3" les SVAR hvis [$ SVAR-eq "1"]; deretter klar echo "Undersøke Loggfiler for host:" $ HostName echo "" hvis [$ TEMP-eq "0"]; deretter # (det er her det bomber ut) ekko ekko echo "*******************************************" echo "Det er ingen loggfilene skal slettes fra host:" $ HostName ekko elif [$ TEMP-gt "0"]; så echo "****************************************" echo "Det er" $ TEMP "loggfiler som kan slettes fra vertsdatamaskinen:" $ HostName echo "" echo "" echo "<1> Slett GEM loggfiler på Host" $ HostName "i / var / tmp katalogen" echo "<2> Avslutt - ingen filer som skal slettes" echo "" echo "Tast 1 eller 2" echo "" les ANS1 hvis [$ ANS1-eq "1"]; deretter klar echo "" echo "" echo "Slette GEM LogFiles Loggfiler" # mkdir-p / brukere / agaff / nospace / logs / # finner / var / tmp /-name "perle *"-atime 3> / brukere / agaff / nospace / logs / $ DATE "-" $ HOST NAME "-logger. Txt | xargs-f> / dev / null 2> & 1 echo "" echo "*******************************************" echo "tmp Logger er nå slettet og logfile oppdatert" echo "" echo "" elif [$ ANS1-eq "2"]; deretter echo "Exiting" ellers echo "Ugyldig valg, spennende ..." exit fi fi fi Her endeth våre lesbarhet leksjon for i dag ... |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|