Visualizzazione dei risultati da 1 a 10 su 10

Discussione: scriptino bash

  1. #1

    scriptino bash

    Sto provando a fare qualche scriptino in bash, giusto per fare un po di pratica.

    Qui è quello che sto provando ora, ma cè un problema:
    codice:
    #!/bin/bash
    echo "Questo è il mio inutilissimo programma"
    echo "Digita qualcosa"
    read qualcosa
    
    if
        $qualcosa=qualcosa
    then
        echo "Risposta esatta!"
    fi 
    
    else if
        $qualcosa!=qualcosa
    then
        echo "Errato"
    fi
    Vorrei fare in modo che se l'utente digita "qualcosa" gli dice "Risposta esatta", mentre se digita qualcosa di diverso da "qualcosa" gli dica errato. Però ho sbagliato qulcosa ^^
    Poi come faccio a dirgli, nel caso l'utente dia la risposta sbagliata, di tornare a visualizagli la domanda?
    "L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
    Eduardo Galeano
    Il mio sito
    "if you want people to RTFM, make a better FM!"

  2. #2
    un ciclo while.....(finchè non digita "qualcosa" non esci)

  3. #3
    Originariamente inviato da noodles25
    un ciclo while.....(finchè non digita "qualcosa" non esci)
    a giusto il ciclo whle^^

    Però il problema al momento è un altro: c'è qualcosa di sbagliato nello script, mi da un errore

    codice:
    psykopear@debian:~$ mioscript
    Questo è il mio inutilissimo programma
    Digita qualcosa
    qualcosa
    /usr/bin/mioscript: line 7: qualcosa=qualcosa: command not found
    /usr/bin/mioscript: line 12: syntax error near unexpected token `else'
    /usr/bin/mioscript: line 12: `else if'
    psykopear@debian:~$
    Pare che non gli vada bene l'"else if" e riconosce come comando "$qualcosa", mentre lo deve riconoscere come variabile
    "L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
    Eduardo Galeano
    Il mio sito
    "if you want people to RTFM, make a better FM!"

  4. #4

    Re: scriptino bash

    codice:
    #!/bin/bash
    echo "Questo è il mio inutilissimo programma"
    echo "Digita qualcosa"
    read qualcosa
    
    if [[ $qualcosa == "qualcosa" ]]; then
        echo "Risposta esatta!"
    else
        echo "Errato"
    fi
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  5. #5

    Re: Re: scriptino bash

    Originariamente inviato da GreyFox86
    codice:
    #!/bin/bash
    echo "Questo è il mio inutilissimo programma"
    echo "Digita qualcosa"
    read qualcosa
    
    if [[ $qualcosa == "qualcosa" ]]; then
        echo "Risposta esatta!"
    else
        echo "Errato"
    fi
    grazie mille, ora vedo un po se riesco a fare il ciclo while (non mi consigliate voi sennò non c'è gusto ^^)
    "L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
    Eduardo Galeano
    Il mio sito
    "if you want people to RTFM, make a better FM!"

  6. #6
    mi sa che devo studiare un po ^^
    Ho provato a fare un ciclo while, un po a caso, ma sono riuscito solo ad avere una serie infinita di "Errato"
    intanto datemi un esempio di com dovrei fare sto ciclo (o se si può fare anche aggiungendo un opzione all'else), così lo capisco meglio, poi se avete qualche buona guida di scrittura in bash ^^ Ho cercato tanto su internet, qualcosa o trovato, ma non sono poi così complete, o forse lo sono troppo per quello che ci devo fare io
    "L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
    Eduardo Galeano
    Il mio sito
    "if you want people to RTFM, make a better FM!"

  7. #7
    E' improponibile di spiegare la bash sul forum... inzia leggendo qui

    http://www.pluto.it/files/ildp/guide/abs/

    Qualunque linguaggio sia, non cercare di impararlo provando a casaccio, cerca delle buone guide.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  8. #8
    codice:
    #!/bin/bash
    echo "digita qualcosa"
    read qualcosa
    while test "$qualcosa" != "qualcosa"
    do
    echo "risposta sbagliata"
    echo "digita qualcosa"
    read qualcosa
    
    done
    
    echo "Risposta esatta"
    
    exit 0

  9. #9
    Utente di HTML.it L'avatar di RokStar
    Registrato dal
    Dec 2001
    Messaggi
    937
    Così al volo, se dici if qualcosa = qualcosa non vuol dir niente, perché l'operatore esatto è ==, non = che serve per assegnare un valore.
    che ce l'hai tre e cinco? Tre e cinco?!?

  10. #10
    Originariamente inviato da RokStar
    Così al volo, se dici if qualcosa = qualcosa non vuol dir niente, perché l'operatore esatto è ==, non = che serve per assegnare un valore.
    si si ho notato (e sto studiando ^^)...
    "L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."
    Eduardo Galeano
    Il mio sito
    "if you want people to RTFM, make a better FM!"

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.