View Full Version : come creare uno scriptino?
ragazzi avrei bisogno di eseguire più volte lo stesso comando su shell...o anche comandi diversi ma in sequenza .... volevo avere qualche consiglio su come fare...quale linguaggio utilizzare...python, perl ecc...
Scoperchiatore
10-06-2006, 10:43
Usa python e perl solo se ti tocca spesso fare il parsing di stringhe complesse.
Megli altri casi, usa uno script della bash.
http://www.pluto.it/files/ildp/guide/abs/index.html
La sintassi bash va studiata, è abbastanza tediosa, ma poi ci si abitua.
Se hai problemi, posta qui la tua esigenza specifica, così il primo script te lo posso fare io, e hai qualcosa su cui partire per i prossimi ;)
grazie mille...ci guardo subito e in caso di problemi posterò qui :D
curiosità: ma c'è modo di farli anche in java??
ma c'è modo di farli anche in java??
Puoi scrivere un programma java che crei dei processi basati sui comandi che vuoi eseguire, ma non mi sembra proprio il caso...
Anche perché non sarebbero più degli script, tra l'altro.
..infatti guldo76!credo che inizierò con bash per poi magari imparare python.....:D
for VAR in [82, 184] ;
do
echo $VAR
done
e se io volessi far stampare tutti i numeri da 0 a 100?? ho provato con 0-100 ma niente...la guida non è esaustiva in questo caso...
...cercando su google ho trovato il comando 'seq 0 100'...però non sono riuscito a farlo funzionare...che sia meglio un while in questo caso???
..infatti guldo76!credo che inizierò con bash per poi magari imparare python.....:D
Ottimo! :D
e se io volessi far stampare tutti i numeri da 0 a 100?
for((i=0; i<=100; i++)); do echo $i; done
for((i=0; i<=100; i++)); do echo $i; done
come mai due parentesi???
...giubilo del fatto che è come il C o Java...ma alle due parentesi non ci avrei mai pensato!!!
cmq ho googlato ancora...e ho risolto così:
while [$i -lt 100]
do
echo $i
let i=i+1
done
però ignoro cosa sia quel lt e quel let....:D cmq ora funge :D:D :cool:
astorcas
10-06-2006, 22:40
-lt = less than = minore di
let significa che forzi la variabile i a numerica :)
Scoperchiatore
12-06-2006, 08:54
c'è anche seq
seq a b
stampa tutti in numeri da "a" compreso fino a "b" escluso.
quindi potevi fare
for i in `seq 0 100`; do .... ; done
seq è utile quando hai a che fare con nomi di files: infatti senza l'opzioncina apposita, non stampa gli "0" riempitivi. In questo caso, il suo risultato è 0 1 2 3 4 5 6 7... e non 001 002 003 004 005.
Questi cosi : `
si chiamano backslashes e servono per eseguire un comando "al volo". In realtà l'uso dei backslashes è fondamentale per uno scripter professionista, ma ne capirai l'importanza quando ne sentirai la necessità.
Imparata la pipe "|" e il grep, hai visto il 50% delle cose che si usano negli scripts. Il resto sono "if", sintassi e comandi.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.