Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-08-2009, 21:30   #1
tlc87
Junior Member
 
Iscritto dal: Aug 2009
Messaggi: 2
script per shell linux

Ciao a tutti,

premetto che sto iniziando ora a programmare usando la shell di linux cmq sto cercando di scrivere uno script che lanci due eseguibili uno dopo l'altro iterando queste operazioni un numero di volte pari al valore inserito dall'utente da shell.
Quindi lo script dovrebbe:
-chiedere il num di simulazioni da effettuare
-eseguire per ogni simulazione due file eseguibili
in particolare l'eseguibile2 deve essere eseguito dopo che l'eseguibile1 ha terminato il suo lavoro e ogni nuova iterazione deve essere effettuata alla terminazione dell'eseguibile2 dell'iterazione precedente.
il codice che ho pensato è qst:

#!/bin/sh

echo -n "inserire numero di simulazioni da effettuare:"
read NUM_SIM

for (( X=0; X<NUM_SIM; X++ ))
do
./eseguibile1
./eseguibile2
done
Qst codice però non funziona.
qualcuno può aiutarmi?

saluti
tlc87 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 21:44   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non ho una macchina con Linux a disposizione e non posso verificare, ma non ci vuole il simbolo $ di dollaro quando leggi variabili? Nel for non lo vedo, potrebbe essere quello.

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 22:04   #3
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Quote:
Originariamente inviato da tlc87 Guarda i messaggi
Ciao a tutti,

premetto che sto iniziando ora a programmare usando la shell di linux cmq sto cercando di scrivere uno script che lanci due eseguibili uno dopo l'altro iterando queste operazioni un numero di volte pari al valore inserito dall'utente da shell.
Quindi lo script dovrebbe:
-chiedere il num di simulazioni da effettuare
-eseguire per ogni simulazione due file eseguibili
in particolare l'eseguibile2 deve essere eseguito dopo che l'eseguibile1 ha terminato il suo lavoro e ogni nuova iterazione deve essere effettuata alla terminazione dell'eseguibile2 dell'iterazione precedente.
il codice che ho pensato è qst:

#!/bin/sh

echo -n "inserire numero di simulazioni da effettuare:"
read NUM_SIM

for (( X=0; X<NUM_SIM; X++ ))
do
./eseguibile1
./eseguibile2
done
Qst codice però non funziona.
qualcuno può aiutarmi?

saluti
Se devi eseguire un tot di volte un ciclo, ottimizza il ciclo utilizzando un While, dato che il for esamina sempre la condizione data... magari a te non importa ma negli script di una certa dimensione è importante...

Comunque un'esempio funzionante (ho solo tolto gli eseguibili dato che non ce li avevo...):
Codice:
#!/bin/sh

echo -n "inserire numero di simulazioni da effettuare: "
read NUM_SIM
X=0
while [ "$X" -lt "$NUM_SIM" ]
do
echo "ciao"
X=$(($X + 1))
done
Buona serata.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov

Ultima modifica di Y3PP4 : 28-08-2009 alle 22:42.
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 22:55   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da Y3PP4 Guarda i messaggi
Se devi eseguire un tot di volte un ciclo, ottimizza il ciclo utilizzando un While, dato che il for esamina sempre la condizione data... magari a te non importa ma negli script di una certa dimensione è importante...
Questa non l'ho capita, perché, while la condizione la controlla ad ogni morte di papa?
Se mi dici che la condizione viene ricalcolata ad ogni iterazione allora posso capire, ma solo se include l'output di qualche programma esterno nella condizione. Personalmente credo sia inutile preoccuparsi fino a questo punto delle prestazioni, in particolare perché chi vuole scrivere programmi "seri e performanti" lo farà magari in C o in C++, non scrive script per BASH.

ciao
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 23:32   #5
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
Questa non l'ho capita, perché, while la condizione la controlla ad ogni morte di papa?
Se mi dici che la condizione viene ricalcolata ad ogni iterazione allora posso capire, ma solo se include l'output di qualche programma esterno nella condizione.
ciao
Si è quello che intendevo. Appunto un ciclo while semplicemente esegue il blocco di codice sino a una data condizione, al cui verificarsi termina.
Chiedo scusa se non mi sono spiegato bene.

Quote:
Personalmente credo sia inutile preoccuparsi fino a questo punto delle prestazioni, in particolare perché chi vuole scrivere programmi "seri e performanti" lo farà magari in C o in C++, non scrive script per BASH. :
Probabilmente è inutile ma può darsi (e aggiungo: secondo me) imparare a ottimizzare anche degli script semplici semplici e in linguaggi che non sono adatti -o comunque idonei- alle massime ottimizzazioni può aiutare in futuro a ricordarsi di cosa ottimizzare, dove e quando (senza rinunciare alla comodità per le prestazioni - come i più maniaci e sciocchi fanno -.

Ps. sulle prestazioni dei programmi non ci metto lingua, ma sulla serietà di alcuni... (homemade intendo v.v)

Quote:
ciao
Ciauz! e buona serata.
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2009, 10:32   #6
tlc87
Junior Member
 
Iscritto dal: Aug 2009
Messaggi: 2
Grazie per il codice ho provato ad eseguirlo però a me non funziona:
subito dopo il do ho messo un echo X e l'output generato è:
=0: not found

Io sto usando cygwin per emulare una shell linux su XP, cm mai a me non funziona?
ciao
tlc87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Il 70% delle imprese non vede effetti de...
HillMiles MileCity1 a 616€: la city e-bi...
GAC Aion UT, prima prova: tanta roba a 2...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v