PDA

Visualizza la versione completa : bash, crontab, function


ThePenguin
31-10-2006, 13:07
salve ragazzi,

in primis buon dolcetto o scherzetto a tutti per statsera...
Ora passiamo ad alcuni problemini che speroi di risolvere.

1) innanzi tutto ho un problema con contrab..
Dunque io ho cercato nel man è per eliminare le operazioni pianificate lui mi indica

$contrab -r

si ma così le elimino tutte dalla prima all'ultima non c'è un modo per eliminarne alcune, quelle di mio interesse, e basta?

2) parliamo di bash scripting...
Le funzioni ho difficoltà a capire come si interpretano... mi spiego subito ok, fuction { } e all'interno delle parentesi il codice
Ma vale lo scheda di una funzione come negli altri linguaggi in cui c'è di base l'utilizzo di una variabile che sarà poi sostituita nel codice da un'altra o le funzioni in shell scriptin hanno solo la funzione, scusate il gioco di parole, di contenere codice che magari viene utilizzato ripetutamente all'interno dello script?

3) panico... allora quando io creo uno script salvo il lavoro con un nome del tipo pippo.sh perfetto; ma poi scusate per lanciare lo script che devo fare?
E' una domanda assurda ma utilizzando un sistema ubuntu ed avevndo bisogno di sudo per accedere ad operazioni particolari io faccio:

$sudo sh pippo.sh

sto percaso sbagliando?

Grazie e buon halloween a tutti :ciauz:

sacarde
31-10-2006, 19:44
1) crontab -e


2) http://www.pluto.it/files/ildp/guide/abs/index.html


3) ./script

ThePenguin
31-10-2006, 20:17
ciuao e grazie per le risposte..

dunque per quanto riguarda il comando crontab si -e per l'editazione ma non nel caso in cui l'editazione avvenga da script.
in ogni caso ho ovviato così:



# elimino le operazioni di controllo progrmmate che restano
touch appoggio
cp appoggio filecron
crontab -l >> appoggio
Righe=$(wc -l appoggio | awk '{print $1}')
Riga=1
while [ $Riga -lt $Righe ]; do
let Riga+=1
RigaCorrente=$(head -$Riga appoggio | tail -1)
ComandoRiga=$(echo $RigaCorrente | awk '{print $7}')
if [ $ComandoRiga != $Comando ] ; then
echo "$RigaCorrente" >> filecron
fi
done
crontab -r
crontab -u utente filecron


per il discrso legato al lancio dello script proverò la soluzione che mi hai indicato..
per quello sulle funzioni invece si certo conoscevo e ho già letto la guida d pluto ma è proprio da quella che ne sono uscito un po' con le ossa rotte...

ciao e grazie

Loading