Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-08-2009, 20: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, 20: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, 21: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 21:42.
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2009, 21: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, 22: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, 09: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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
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: 20:38.


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