The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
rsh con lo script all'interno di un ciclo for trekianov Shell scripting e di programmazione 5 12-06-2008 12:39 PM
ciclo while problemi amatuer_lee_3 Shell scripting e di programmazione 7 05-13-2008 01:48 AM
L'esecuzione di script non secondo ciclo thumper Shell scripting e di programmazione 2 05-07-2008 05:10 PM
Mentre loop problemi rcunn87 Shell scripting e di programmazione 0 06-20-2006 05:26 PM
non certo come loop questo script! moxxx68 Shell scripting e di programmazione 3 09-09-2004 08: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 Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 09-15-2007
lodey lodey is offline
Utente Registrato
  
 

Iscriviti Data: Sep 2007
Interventi: 29
Problemi con se uno / a circuito quindi all'interno di uno script

Hi there,

Ho scritto uno script per cancellare i file di log dal var / tmp dir. Funziona fino a un certo punto. Quello che mi è stato necessario fare per uscire dal copione, se non vi è stato nessun file da eliminare. Sono in grado di ottenere questo gruppo di lavoro su un copione per il test, ma quando la sua attuazione nel mio programma di errori che con un «poi» non ha trovato errori. Ho tracciato per la linea dello script: se [TEMP \u003d "0"]; poi

Qualcuno potrebbe avere uno sguardo e in acciaio in cui mi sono andato storto o punto mi nella giusta direzione

Rgds
Colin

Qui trovate l'estratto dello script che ho creato:

#! / bin / sh
#
# Impostare le variabili locali
USER \u003d `/ usr / bin / whoami`
CONTO \u003d specs
HOSTNAME \u003d `/ usr / bin / hostname`
DATA \u003d `/ usr / bin / date" +% Y% m% d "`
TEMP \u003d `find / var / tmp /-name" * gemma "-atime +3 | wc-l`
TEMPALL \u003d `find / var / tmp /-atime +3 | wc-l`
# Elimina vecchio file di log
trovare / users / agaff / NoSpace / log /-name "*. txt"-atime +1 | xargs rm-f
# Main Screen
chiaro
echo "<1> Elimina file di log su GEM ospitante:" $ HOSTNAME
echo "<2> Elimina tutti i file in / var / tmp (manutenzione solo)"
echo "<3> Exit - nessun file da cancellare"
echo ""
echo "Inserire 1 o 2 o 3"
leggere RISPOSTA
if [$ ANSWER \u003d "1"]; poi
chiaro
echo "Esaminare i file di log per ospitare:" $ HOSTNAME
echo ""
if [$ temp \u003d "0"]; then # (questo è dove le bombe)
echo
echo
echo "************************************************ *** "
echo "Non ci sono file di registro da eliminare da host:" $ HOSTNAME
echo
Elif [$ TEMP> "0"];
allora
echo "***********************************************"
echo "Ci sono" $ TEMP "file di log che possono essere cancellati da host:" $ HOSTNAME
echo ""
echo ""
echo "<1> GEM Elimina file di log su host" $ HOSTNAME "in / var / tmp directory"
echo "<2> Exit - nessun file da cancellare"
echo ""
echo "Inserire 1 o 2"
echo ""
leggere ANS1
if [$ ANS1 \u003d "1"]; poi
chiaro
echo ""
echo ""
echo "GEM Logfiles Eliminazione dei file di log"
mkdir-p / users / agaff / NoSpace / log /
find / var / tmp /-name "* gemma"-atime 3> / users / agaff / NoSpace / log / $ DATA "-" $ HOSTNAME "-log". txt | xargs-f> / dev / null 2> & 1
echo ""
echo "************************************************ ************************"
echo "Log Tmp sono ora soppresso e aggiornamento dei file di log"
echo ""
echo ""
Elif [$ ANS1 \u003d "2"], quindi
echo "Uscire"
altro
echo "Invalid selezione, di uscire ..."
uscita
fi
  #2 (permalink)  
Old 09-15-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2006
Località: / dev / null
Interventi: 177
Buddy, è bombardato tutto i luoghi.

Principali errori.

1) Si facevano intero comparisoin in molti luoghi utilizzando sbagliato operatore.

2) partita di errore di sintassi nel echo

3) Non mi piace la struttura del vostro script. Si consiglia di utilizzare la 'causa' invece struttura.

4) dichiarazione, se non si chiude correttamente

Modificato lo script:
PS: ho modificato alcuni percorsi nello script di verificare sul mio sistema.

Codice:
#!/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
Salute,
K
  #3 (permalink)  
Old 09-15-2007
lodey lodey is offline
Utente Registrato
  
 

Iscriviti Data: Sep 2007
Interventi: 29
Thanks a lot for your help

Sono nuovo di Unix scripting e sto imparando come andare a fare in modo Evry po 'di aiuto è benvenuto

Ora ho un lavoro di script
  #4 (permalink)  
Old 09-18-2007
dewets dewets is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2007
Luogo: Somerset West, Sud Africa
Interventi: 10
Giusto per aggiungere il mio valore 0.02c:

Fanno uso di script rientri nella scrittura! Questo rende la manutenzione del tuo script Sooo solo molto più facile.

Cercando di trovare una nidificate Elif comando tra tutti voi "echo" 's è stato qualcosa di molto:

#! / bin / sh
#
# Impostare le variabili locali
USER \u003d `/ usr / bin / whoami`
CONTO \u003d Compaq
HOSTNAME \u003d `/ usr / bin / hostname`
DATA \u003d `/ usr / bin / date" +% Y% m% d "`
TEMP \u003d `trovare. -name "* gemma" | wc-l `
TEMPALL \u003d `trovare. | Wc-l `
# Elimina vecchio file di log
# find / users / agaff / NoSpace / log /-name "*. txt"-atime +1 | xargs rm-f
# Main Screen
chiaro
echo "<1> Elimina file di log su GEM ospitante:" $ HOSTNAME
echo "<2> Elimina tutti i file in / var / tmp (manutenzione solo)"
echo "<3> Exit - nessun file da cancellare"
echo ""
echo "Inserire 1 o 2 o 3"
leggere RISPOSTA
if [$ RISPOSTA-eq "1"], quindi
chiaro
echo "Esaminare i file di log per ospitare:" $ HOSTNAME
echo ""
if [$ temp-eq "0"]; then # (questo è dove le bombe)
echo
echo
echo "*******************************************"
echo "Non ci sono file di registro da eliminare da host:" $ HOSTNAME
echo
Elif [$ temp-gt "0"];
allora
echo "****************************************"
echo "Ci sono" $ TEMP "file di log che possono essere cancellati da host:"
$ HOSTNAME
echo ""
echo ""
echo "<1> GEM Elimina file di log su host" $ HOSTNAME "in / var / tmp directory"
echo "<2> Exit - nessun file da cancellare"
echo ""
echo "Inserire 1 o 2"
echo ""
leggere ANS1
if [$ ANS1-eq "1"], quindi
chiaro
echo ""
echo ""
echo "GEM Logfiles Eliminazione dei file di log"
# mkdir-p / users / agaff / NoSpace / log /
# find / var / tmp /-name "* gemma"-atime 3> / users / agaff / NoSpace / log / $ DATA "-" $ HOST
NOME "-log". Txt | xargs-f> / dev / null 2> & 1
echo ""
echo "*******************************************"
echo "Log Tmp sono ora soppresso e aggiornamento dei file di log"
echo ""
echo ""
Elif [$ ANS1-eq "2"], quindi
echo "Uscire"
altro
echo "Invalid selezione, di uscire ..."
uscita
fi
fi
fi



Qui la nostra endeth leggibilità lezione di oggi ...
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 01:00 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0