The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
rsh forgatókönyvet belül a hurok trekianov Shell programozás és Scripting 5 12-06-2008 12:39 PM
míg a hurok problémák amatuer_lee_3 Shell programozás és Scripting 7 05-13-2008 12:48 AM
Script nem végrehajtó második hurok doboló Shell programozás és Scripting 2 05-07-2008 04:10 PM
Míg a hurok problémák rcunn87 Shell programozás és Scripting 0 06-20-2006 04:26 PM
Nem teljesen biztos benne, hogy a hurok ez a szkript! moxxx68 Shell programozás és Scripting 3 09-09-2004 07:00 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 09-15-2007
lodey lodey is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2007
Hozzászólások: 29
Gondok vannak az if / loop, majd egy script

Hi there,

Írtam egy szkriptet, hogy egyértelmű a log fájlokat a var / tmp könyvtár. Úgy működik, hogy egy pont. Amire szükség van, hogy nem az volt, hogy kilép a forgatókönyvet, ha nem volt a fájlokat törölni kell. Nem kap ez a munka a vizsgált script de mikor hajtják végre a programot, hogy én ki a hibát ", akkor" nem párosul hiba. Én is nyomon követhető, hogy a sort a script: if [TEMP \u003d "0"], majd

Tudna valaki egy pillantást, és teel, hol van a baj, vagy pont nekem a megfelelő irányba

Rgds
Colin

Itt a kivonat a forgatókönyvet, amit létre:

#! / bin / sh
#
# Set helyi változók
User \u003d "/ usr / bin / whoami"
ACCOUNT \u003d specs
Hostname \u003d "/ usr / bin / hostname`
DATE \u003d "/ usr / bin / date" +% Y% m% d ""
TEMP \u003d `talál a / var / tmp /-name" gem * "-atime 3 | wc-l`
TEMPALL \u003d "Keresés / var / tmp /-atime 3 | wc-l`
# Purge régi Naplófájlok
Keresés / felhasználók / agaff / nospace / logs /-name "*. txt"-atime 1 | xargs rm-f
# Főképernyője
világos
echo "<1> Törlés GEM naplófájlokban a host:" $ HOSTNAME
echo "<2> töröljön minden fájlt a / var / tmp (karbantartás esetén)"
echo "<3> Kilépés - nem a fájlokat törölni kell"
echo ""
echo "Enter 1 vagy 2 vagy 3"
read VÁLASZ
if [$ answer \u003d "1"], majd
világos
echo "vizsgáló Naplófájlok a host:" $ HOSTNAME
echo ""
if [$ temp \u003d "0"], majd # (ez akkor, ha a bombák)
echo
echo
echo "************************************************ *** "
echo "Nincsenek log fájlokat, hogy törölni kell a host:" $ HOSTNAME
echo
elif [$ TEMP> "0"];
majd
echo "***********************************************"
echo "A" $ TEMP "log fájlokat lehet törölni host:" $ HOSTNAME
echo ""
echo ""
echo "<1> Törlés GEM naplófájlokban a fogadó" $ hostname "a / var / tmp könyvtárban"
echo "<2> Kilépés - nem a fájlokat törölni kell"
echo ""
echo "Enter 1 vagy 2"
echo ""
read ANS1
if [$ ANS1 \u003d "1"], majd
világos
echo ""
echo ""
echo "Deleting GEM LogFiles Log Files"
mkdir-p / felhasználó / agaff / nospace / logs /
Keresés / var / tmp /-name "gem *"-atime 3> / users / agaff / nospace / logs / $ date "-" $ hostname "-naplókat". txt | xargs-f> / dev / null 2> & 1
echo ""
echo "************************************************ ************************"
echo "Tmp Naplófájl már törölték és Naplózás frissítve"
echo ""
echo ""
elif [$ ANS1 \u003d "2"], majd
echo "Kilépés"
vagy
echo "Érvénytelen kiválasztás, exiting ..."
exit
fi
  #2 (permalink)  
Old 09-15-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2006
Helyszín: a / dev / null
Posts: 177
Buddy, ez bombázott az egész helyen.

Súlyos hibákat.

1) csinál egész comparisoin sok helyen a rossz üzemeltetõjéhez.

2) sok szintaktikai hiba echo

3) Nem szeretem a szerkezete a forgatókönyvet. Használható "ügyben" struktúra helyett.

4) ha a nyilatkozatot nem megfelelően lezárva

Módosítva script:
PS: Nekem van egy pár módosított pályák a forgatókönyvben, hogy ellenőrizze az én rendszert.

Kód:
#!/bin/sh
#
# Set local variables
USER=`/usr/bin/whoami`
ACCOUNT=Compaq
HOSTNAME=`/usr/bin/hostname`
DATE=`/usr/bin/date "+%Y%m%d"`
TEMP=`find . -name "gem*" | wc -l`
TEMPALL=`find .  | wc -l`
# Purge old Log Files
#find /users/agaff/nospace/logs/ -name "*.txt" -atime +1|xargs rm -f
# Main Screen
clear
echo "<1> Delete GEM log files on host: " $HOSTNAME
echo "<2> Delete ALL Files in the /var/tmp ( maintenance only ) "
echo "<3> Exit - no files to be deleted"
echo ""
echo " Enter 1 or 2 or 3"
read ANSWER
if [ $ANSWER -eq "1" ]; then
clear
echo "Examining Log Files for host: " $HOSTNAME
echo ""
if [ $TEMP -eq "0" ]; then #(this is where it bombs out)
echo
echo
echo "***************************************************"
echo "There are no log files to be deleted from host:" $HOSTNAME
echo
elif [ $TEMP -gt "0" ];
then
echo "***********************************************"
echo "There are " $TEMP "log files that can be deleted from host:" $HOSTNAME
echo ""
echo ""
echo "<1> Delete GEM log files on Host" $HOSTNAME "in the /var/tmp directory"
echo "<2> Exit - no files to be deleted"
echo ""
echo " Enter 1 or 2"
echo""
read ANS1
if [ $ANS1 -eq "1" ]; then
clear
echo ""
echo ""
echo "Deleting GEM Logfiles Log Files"
#mkdir -p /users/agaff/nospace/logs/
#find /var/tmp/ -name "gem*" -atime +3 > /users/agaff/nospace/logs/$DATE"-"$HOST
NAME"-logs".txt| xargs -f >/dev/null 2>&1
echo ""
echo "************************************************************************"
echo "Tmp Logs are now deleted and logfile updated"
echo ""
echo ""
elif [ $ANS1 -eq "2" ]; then
echo "Exiting"
else
echo "Invalid selection, exiting..."
exit
fi
fi
fi
Egészségére,
K
  #3 (permalink)  
Old 09-15-2007
lodey lodey is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2007
Hozzászólások: 29
Nagyon köszönöm a segítséget

Én vagyok az új vagy a Unixban scripting és tanulok, ahogy megy olyan EVRY kis help is welcome

Most már van egy működő script
  #4 (permalink)  
Old 09-18-2007
dewets dewets is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2007
Hely: Somerset West, Dél-Afrika
Hozzászólások: 10
Csak, hogy hozzá a 0.02c érdemes:

Használja ki indenting a szkript írásakor! Lehetővé teszi karbantartási szkriptjeid csak sooo sokkal könnyebb.

Megpróbálom megtalálni a nested elif parancs között you "echo" 's volt valami:

#! / bin / sh
#
# Set helyi változók
User \u003d "/ usr / bin / whoami"
ACCOUNT \u003d Compaq
Hostname \u003d "/ usr / bin / hostname`
DATE \u003d "/ usr / bin / date" +% Y% m% d ""
TEMP \u003d `találni. -name "gem *" | wc-l `
TEMPALL \u003d "találni. | Wc-l `
# Purge régi Naplófájlok
# find / users / agaff / nospace / logs /-name "*. txt"-atime 1 | xargs rm-f
# Főképernyője
világos
echo "<1> Törlés GEM naplófájlokban a host:" $ HOSTNAME
echo "<2> töröljön minden fájlt a / var / tmp (karbantartás esetén)"
echo "<3> Kilépés - nem a fájlokat törölni kell"
echo ""
echo "Enter 1 vagy 2 vagy 3"
read VÁLASZ
if [$ ANSWER-eq "1"], majd
világos
echo "vizsgáló Naplófájlok a host:" $ HOSTNAME
echo ""
if [$ TEMP-eq "0"], majd # (ez akkor, ha a bombák)
echo
echo
echo "*******************************************"
echo "Nincsenek log fájlokat, hogy törölni kell a host:" $ HOSTNAME
echo
elif [$ TEMP-GT "0"];
majd
echo "****************************************"
echo "A" $ TEMP "log fájlokat lehet törölni host:"
$ HOSTNAME
echo ""
echo ""
echo "<1> Törlés GEM naplófájlokban a fogadó" $ hostname "a / var / tmp könyvtárban"
echo "<2> Kilépés - nem a fájlokat törölni kell"
echo ""
echo "Enter 1 vagy 2"
echo ""
read ANS1
if [$ ANS1-eq "1"], majd
világos
echo ""
echo ""
echo "Deleting GEM LogFiles Log Files"
# mkdir-p / felhasználó / agaff / nospace / logs /
# find / var / tmp /-name "gem *"-atime 3> / users / agaff / nospace / logs / $ date "-" $ HOST
Name "-naplókat". Txt | xargs-f> / dev / null 2> & 1
echo ""
echo "*******************************************"
echo "Tmp Naplófájl már törölték és Naplózás frissítve"
echo ""
echo ""
elif [$ ANS1-eq "2"], majd
echo "Kilépés"
vagy
echo "Érvénytelen kiválasztás, exiting ..."
exit
fi
fi
fi



Itt endeth mi olvashatóságának leckét a mai napon ...
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 12:37 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0