Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: [bash] if in un ciclio

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    154

    if in un ciclio

    Ciao a tutti.. ho proprio appena iniziato a programmare shell unix (e programmare in generale) quindi vorrei chiedere come fare una cosa proprio banalissima ma tanto per capire.. vorrei fare una shell che mi chiede in input il nome e nel momento in cui viene riconosciuto un certo nome mi dice una cosa, in caso contrario un'altra. Questo l'ho fatto cosi:
    codice:
    #!/bin/bash
    echo -n "Inserisci il tuo nome: "
     read nome_utente
     if [ $nome_utente = 'Pippo' ];
     then
      echo "Ciao $nome_utente!!!"
     else
      echo "$nome_utente non sei il creatore della shell"
     fi
    Non voglio però che la shell però si chiuda. Cioè, dovrebbe riapparirmi echo -n "Inserisci il tuo nome: " fino a quando il nome_utente è (in questo caso) pippo. sennò esce dal ciclo (presumo ci voglia un ciclo)

    riperto è una cavolata. Ma voglio cercare di capire.

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    154
    Originariamente inviato da Alex'87
    Ti serve un while
    http://www.cyberciti.biz/faq/bash-while-loop/
    Eh lo so ma sbaglio sempre :-(

  4. #4

    Moderazione

    Ti ricordo che il linguaggio di riferimento va sempre specificato (anche nel titolo, sotto forma di "tag").

    Per questa volta correggo io, in futuro imposta correttamente la discussione fin da subito.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    154

    Re: Moderazione

    Originariamente inviato da MItaly
    Ti ricordo che il linguaggio di riferimento va sempre specificato (anche nel titolo, sotto forma di "tag").

    Per questa volta correggo io, in futuro imposta correttamente la discussione fin da subito.
    Hai perfettamente ragione ti chiedo scusa :-)

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da punticci
    Eh lo so ma sbaglio sempre :-(
    E noi come facciamo a sapere cosa sbagli?

    Riporta il codice che ti da errori...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    154
    Originariamente inviato da Alex'87
    E noi come facciamo a sapere cosa sbagli?

    Riporta il codice che ti da errori...
    No è che pensavo che magari qualcuno dal codice che ho già messo mi inserisse il ciclo tutto qui. Più che altro sbaglio la condizione del while probabilmente..

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da punticci
    No è che pensavo che magari qualcuno dal codice che ho già messo mi inserisse il ciclo tutto qui.
    Non è così che funziona, mi spiace...

    Originariamente inviato da punticci
    Più che altro sbaglio la condizione del while probabilmente..
    Qual è questa condizione? Se fai vedere cosa hai fatto ti si può dire dove sbagli...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    154
    Originariamente inviato da Alex'87
    Non è così che funziona, mi spiace...


    Qual è questa condizione? Se fai vedere cosa hai fatto ti si può dire dove sbagli...
    Capisco il vostro discorso però capite anche che sono agli inizi. Faccio il while e non so che condizione mettere di preciso, poi faccio la if e lo chiudo?

  10. #10
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Un while "cicla" fin quando la condizione è vera !

    " fino a quando il nome_utente è (in questo caso) pippo
    da quello che hai scritto , deve ripetere fin quando il nome è pippo .






    aggiungi un read dopo else in modo da mettere in pausa il programma e leggere il messaggio .
    codice:
     nome_utente='Pippo' // condizione vera esegue il ciclo almeno una volta
    While [$nome="pippo"]  // dovrebbe essere cosi ma non conosco shell linux 
    
    do
         i tuo codice e gli  if 
         ......
         .......
        else 
           echo .........
         read ... in modo da mettere in pausa e leggere il messaggio 
    done
    Tecnologia

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 © 2024 vBulletin Solutions, Inc. All rights reserved.