Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774

    [shell script] Parsing di variabile numerica

    ciao a tutti...
    devo implementare un contatore che stampi a video una sequenza numerica da 0 al numero passato come parametro allo script.
    Per eseguire il ciclo for ovviamente avrò bisogno di un istruzione che conti (non posso usare il seq perchè ho delle restizioni visto che si tratta di un esercizio di scuola).
    Quindi la mia domanda è:
    ho necessariamente bisogno di un parser (e se si potete consigliarmene uno) o posso implementare la cosa anche senza?
    grazie mille
    citruz

  2. #2
    Utente di HTML.it L'avatar di Hamish
    Registrato dal
    Jul 2001
    Messaggi
    205
    http://www.dsy.it/forum/showthread.php?threadid=11579


    il "compito" per domani è quello di realizzare un script di shell cui si possa inviare uno e un solo parametro di tipo numerico e che stampi poi a video la seria numerica da 0 al numero inserito.

    non so se e' valutato o meno ma non mi sembra carino
    venir qui a farsi fare il "compito"
    iBook G4 12''
    Public Key: 0x5F9D7825 wwwkeys.pgp.net
    531D 882B C083 22EA CBDC 8565 78F9 25C7 5F9D 7825

  3. #3
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    non ho assolutamente intenzione di farmi fare il compitino ti assicuro!
    anche perchè queste cose mi piacciono e le voglio fare io stesso...
    solo che sono fermo su questa cosa...
    ovvero se serve un parser è inutile che ci perda tempo (il resto dello script è gia praticamente pronto), tanto vale trovarne uno e usarlo no credi?
    cmq grazie do subito un occhiata al link che mi haiu suggerito

  4. #4
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    mmm????
    non avevo fatto caso al link.....
    ma con chi ho a che fare?

    ah ah ah
    scommetto che è il prof....
    sgamato in pieno!
    :quote:

  5. #5
    Utente di HTML.it L'avatar di Hamish
    Registrato dal
    Jul 2001
    Messaggi
    205
    e' il tuo post sul dsy :gren:
    son di info
    iBook G4 12''
    Public Key: 0x5F9D7825 wwwkeys.pgp.net
    531D 882B C083 22EA CBDC 8565 78F9 25C7 5F9D 7825

  6. #6
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    piacere di conoscerti Hamish (magari ci conosciamo pure)!
    cmq tornando al mio problema.....
    dimmi almeno se il mio ragionamento è giusto..
    la shell mette a disposizione solo variabili di tipo stringa, infatti il for è realizzato mediante "trucchi" perchè non esistono variabili di tipo numerico...
    quindi per verificare il valore numerico di un parametro che poi utilizzerò in qualche modo nel for (per me che sono abituato con java) bisogna fare per forza un parsing...
    dico bene?
    e per fare un parsing ho bisogno di un programma che deve essere per forza esterno ...
    mi può essere utile la variabile &# che mi restituisce il numero dei parametri passati ma solo per controllare che non se ne inseriscano più d'uno....
    giusto?

  7. #7
    Utente di HTML.it L'avatar di Hamish
    Registrato dal
    Jul 2001
    Messaggi
    205
    mai utilizzato script di questo tipo
    ma prova a vedere al link
    http://it.tldp.org/guide/abs/

    se c'e' quello che ti serve tipo
    codice:
    #!/bin/bash
      2 # int-or-string.sh: Intero o stringa?
      3 
      4 a=2334                   # Intero.
      5 let "a += 1"
      6 echo "a = $a "           # a = 2335
      7 echo                     # Intero, ancora.
      8 
      9 
     10 b=${a/23/BB}             # Sostituisce "23" con "BB".
     11                          # Questo trasforma $b in una stringa.
     12 echo "b = $b"            # b = BB35
     13 declare -i b             # Dichiararla come intero non aiuta.
     14 echo "b = $b"            # b = BB35
     15 
     16 let "b += 1"             # BB35 + 1 =
     17 echo "b = $b"            # b = 1
     18 echo
     19 
     20 c=BB34
     21 echo "c = $c"            # c = BB34
     22 d=${c/BB/23}             # Sostituisce "BB" con "23".
     23                          # Questo trasforma $d in un intero.
     24 echo "d = $d"            # d = 2334
     25 let "d += 1"             # 2334 + 1 =
     26 echo "d = $d"            # d = 2335
     27 echo
    iBook G4 12''
    Public Key: 0x5F9D7825 wwwkeys.pgp.net
    531D 882B C083 22EA CBDC 8565 78F9 25C7 5F9D 7825

  8. #8
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    Originariamente inviato da Hamish
    mai utilizzato script di questo tipo
    ma prova a vedere al link
    http://it.tldp.org/guide/abs/

    se c'e' quello che ti serve tipo
    codice:
    #!/bin/bash
      2 # int-or-string.sh: Intero o stringa?
      3 
      4 a=2334                   # Intero.
      5 let "a += 1"
    ....
    scusa ma significa che a è una variabile di tipo intero?
    a me sembrava di aver capito che la shell può usare solo variabili stringa....
    è possibile o ho capito male?

  9. #9
    Utente di HTML.it L'avatar di Hamish
    Registrato dal
    Jul 2001
    Messaggi
    205
    non esistono tipi ma se e' di caratteri solo numerici
    o usata in un contesto numerico viene interpretata come un numero

    codice:
    #!/bin/bash
    a=12
    b=7
    echo "il risultato e' :"
    let "a += b"
    echo $a
    questo scrive correttamente 19
    iBook G4 12''
    Public Key: 0x5F9D7825 wwwkeys.pgp.net
    531D 882B C083 22EA CBDC 8565 78F9 25C7 5F9D 7825

  10. #10
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    a quanto pare è proprio così....
    missione compiuta funziona tutto!
    ora do una sistematina e poi sono apposto!
    (a dire la verità mi mancherebbe di controllare che il parametro inserito sia un numero)....

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.