Visualizzazione dei risultati da 1 a 7 su 7

Discussione: script per shell linux

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    4

    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577

    Re: script per shell linux

    Originariamente inviato da omar_87
    #!/bin/sh

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

    for (( X=0; X<NUM_SIM; X++ ))
    do
    ./eseguibile1
    ./eseguibile2
    done

    per il ciclo prova questo

    a=0
    while [ $a –le $NUM_SIM ]; do

    ./eseguibile1
    ./eseguibile2

    a=$(expr $a + 1)

    done

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    4
    ho provato ad usare il while ma il problema persiste in particolare non entra mai nel ciclo infatti ho provato a stampare a fuori e dentro al ciclo e ho visto che nel ciclo non entra mai.

    ...
    a=0
    echo $a
    while [ $a –le $NUM_SIM ]; do
    echo $a
    ./eseguibile1
    ./eseguibile2

    a=$(expr $a + 1)

    done

    L'output di questo codice è:
    0
    0:not found

    Qualcuno sa aiutarmi?Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    Originariamente inviato da omar_87
    ho provato ad usare il while ma il problema persiste in particolare non entra mai nel ciclo infatti ho provato a stampare a fuori e dentro al ciclo e ho visto che nel ciclo non entra mai.

    ...
    a=0
    echo $a
    while [ $a –le $NUM_SIM ]; do
    echo $a
    ./eseguibile1
    ./eseguibile2

    a=$(expr $a + 1)

    done

    L'output di questo codice è:
    0
    0:not found

    Qualcuno sa aiutarmi?Grazie

    ma hai inizializzato NUM_SIM=qualcosa ?????

    esempio
    NUM_SIM=10

    a=0
    NUM_SIM=10
    while [ $a –le $NUM_SIM ]; do
    echo $a
    a=$(expr $a + 1)
    done


    lo script funziona normalmente

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    4
    no non ho inizializzato NUM_SIM forse il problema è di cygwin lo sto usando per emulare la shell in XP...

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    se ci fosse una versione di cygwin senza installazione la proverei anch'io

  7. #7
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570

    Re: script per shell linux

    Originariamente inviato da omar_87

    Qst codice però non funziona.
    il tuo codice a prima vista e' corretto.
    provandolo funziona pure.

    ciao

    ah... provato su linux, non ho windows per provare cygwin
    slack? smack!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.